Java libraries search engines comparison

07.12.2015 08:10:06

Maybe you know I have a new hobby project I'm working on for six months now - javalibs.com, which is basically something like Google for Maven Central repository. Why I made it? Because I was sick and tired of the current state of public search engines. When creating javalibs.com I took lots of inspiration from them, but ultimately I made my own path and created some original concepts:

mvnrepository.com (a.k.a. most used)

+ search results are sorted only via Maven Central usage, which works for some libraries, but others are impossible to find (see lower for comprehensive search tests)
+ categories
+ retired artifacts are marked
- just Java dependencies from Maven Central, no plugins, archetypes, classes or other libraries from other repositories
- updated weekly


search.maven.org (a.k.a. official)

+ updated every hour or so
+ search for classes
- terrible search engine (see lower for comprehensive search tests)
- no plugins or archetypes


javalibs.com (a.k.a. new contender)

+ pretty good search engine
+ autocomplete
+ retired artifacts are marked
+ dependencies, plugins, archetypes, java classes
+ libraries from Maven Central, Spring, JBoss and PrimeFaces Maven repository
- updated weekly


libraries.io (a.k.a. search everything, find nothing)

+ much more than just Java libraries - javascript, ruby etc.
+ very nice integration with GitHub
- from Java libraries just Maven Central
- terrible search engine (see lower for comprehensive search tests)
- it seems there's no update mechanism right now, often it doesn't contain current information


bintray.com (a.k.a. Maven Central alternative)

+ has a little bit more than just Java libraries from Central (jcenter)
- seldom updated
- terrible search engine (see lower for comprehensive search tests)


maven-repository.com (a.k.a. mostly unknown)

+ dependencies, plugins, archetypes
+ updated daily
- terrible search engine (see lower for comprehensive search tests)


Others, mostly unknown



Search engines search capabilities:

There are total 7 tests which tested the search engine to it's limits. Note that on search.maven.org I didn't use "Advanced search", because it requires precise knowledge what you're looking for, it's extra hassle and most people don't know about that feature anyways. If the result I was looking for was within several first results (first 5 results if not specified otherwise), the search engine would receive one point, otherwise zero. These are summary results:

javalibs.com: 7 - winner
mvnrepository.com: 4
search.maven.org: 2
maven-repository.com: 2
libraries.io: 0
bintray.com: 0

Tests:

search term: org.hibernate:hibernate-search-engine
Explanation: searching for groupId:artifactId, what could go wrong?
Results:
mvnrepository.com: 0
search.maven.org: 0 (wheel keeps turning, but no result)
javalibs.com: 1
libraries.io: 0
bintray.com: 0
maven-repository.com: 0
search term: org.hibernate hibernate-search-engine
Explanation: searching for "groupId artifactId", what could go wrong?
Results:
mvnrepository.com: 0
search.maven.org: 1
javalibs.com: 1
libraries.io: 0
bintray.com: 0 (found 5.4.0.Alpha1 which is 6 months old???)
maven-repository.com: 1
search term: spring
Explanation: This is very hard test, because I'm not specifying exactly what I'm looking for, just a name of the framework.
Results:
mvnrepository.com: 1
search.maven.org: 0
javalibs.com: 1
libraries.io: 0
bintray.com: 0
maven-repository.com: 0
search term: hibernate search
Explanation: This is moderately hard test, because even though there are just few "Hibernate Search" libraries, there are lots of "Hibernate" libraries and "search" is a common word. Moreover there's a deprecated Hibernate Search artifact and the search engine should warn you about it somehow.
Results:
mvnrepository.com: 0
search.maven.org: 0 (found deprecated version without any warning)
javalibs.com: 1
libraries.io: 0
bintray.com: 0
maven-repository.com: 0
search term: spring-webmvc
Explanation: This is fairly easy test, spring-webmvc is an artifactId. This should be within first 3 results.
Results:
mvnrepository.com: 1
search.maven.org: 1
javalibs.com: 1
libraries.io: 0 (found 3.2.14.RELEASE which is 5 months old???)
bintray.com: 0
maven-repository.com: 1
search term: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>
Explanation: You wouldn't belive how many people search this way.
Results:
mvnrepository.com: 1
search.maven.org: 0
javalibs.com: 1
libraries.io: 0
bintray.com: 0
maven-repository.com: 0
search term: junit-4.12.jar
Explanation: Again you wouldn't belive ...
Results:
mvnrepository.com: 1
search.maven.org: 0
javalibs.com: 1
libraries.io: 0
bintray.com: 0
maven-repository.com: 0



© Jiri Pinkas | this project on GitHub | related: JavaVids | Maven Central Repository Search | Java školení | Top SQL Blogs | monitored using: sitemonitoring

Top Java Blogs is a Java blog aggregator (with English-written blogs only) focused on Java SE, Java EE, Spring Framework and Hibernate.