Java libraries search engines comparison : 2016

12.09.2016 11:07:59

When you search for some Maven artifact (Java library), you use one of two methods:

A short time back I also asked Java community on Google+ which search engine they use. These were the answers (181 people voted). Later on you will see that mvnrepository.com currently prevails because it's easily searchable by Google, exists for 10 long years and does a pretty good job (at least for basic dependency search in Central Repository):

Search engines search capabilities:

There are total 8 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: 8 - winner
mvnrepository.com: 7
search.maven.org: 2
maven-repository.com: 2
libraries.io: 1
bintray.com: 0

mvnrepository.com (a.k.a. most used, since 2006)

+ pretty good search engine (in the last few months it has radically improved)
+ categories
+ retired artifacts are marked
- just Java dependencies from Maven Central, no plugins, archetypes, classes or libraries from other repositories
- updated several times a week
test results: 7 / 8 tests passed


search.maven.org (a.k.a. official, since 2011)

+ updated every hour or so
+ search for classes
- terrible search engine (see lower for comprehensive search tests)
- no plugins or archetypes
test results: 2 / 8 tests passed


javalibs.com (a.k.a. new contender, since 2015)

+ pretty good search engine
+ autocomplete
+ retired artifacts are marked
+ dependencies, plugins, archetypes, java classes, javadoc, dependency trees
+ libraries from several repositories, not just Maven Central
- updated two times a week
test results: 8 / 8 tests passed


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

+ 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 regular update mechanism for the time being, often it doesn't contain current information
test results: 1 / 8 tests passed


bintray.com (a.k.a. Maven Central alternative, since 2012)

+ has more than just Java libraries from Central (jcenter)
- seldom updated
- terrible search engine (see lower for comprehensive search tests)
test results: 0 / 8 tests passed


maven-repository.com (a.k.a. mostly unknown, since 2014)

+ dependencies, plugins, archetypes
+ updated daily
+ contains much more than just Maven Central
- terrible search engine (see lower for comprehensive search tests)
test results: 2 / 8 tests passed


Others, mostly unknown



Tests:

search term: org.hibernate:hibernate-search-engine
Explanation: searching for groupId:artifactId, what could go wrong?
Results:
mvnrepository.com: 1
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: 1
search.maven.org: 1
javalibs.com: 1
libraries.io: 0
bintray.com: 0 (found 5.4.0.Alpha1 which is over 1 year 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: 1
search.maven.org: 0 (found deprecated version without any warning)
javalibs.com: 1
libraries.io: 1
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 4.2.7.RELEASE)
bintray.com: 0
maven-repository.com: 1
search term: hsql
Explanation: This is very hard test, hsql is just part of the name (full name is hsqldb).
Results:
mvnrepository.com: 0
search.maven.org: 0
javalibs.com: 1
libraries.io: 0
bintray.com: 0
maven-repository.com: 0
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.