Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Java Library Search Engines Comparison: 2016

DZone's Guide to

Java Library Search Engines Comparison: 2016

Analysis of a Java community poll on the most useful specialized Maven and Java library search engines.

· Java Zone
Free Resource

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

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

  • Google / DuckDuckGo / ... — That's fine, and it will mostly point you to mvnrepository.com, but this often doesn't return best results, especially when the library gets retired and moves to new groupId:artifactId, or when you search for a Maven plugin, archetype, or Java class. Also, it doesn't say anything about library's popularity.
  • A specialized search engine like mvnrepository.com, search.maven.org, javalibs.com, etc.

A short time back I also asked the 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, has existed for 10 long years, and does a pretty good job (at least for a basic dependency search in Central Repository):

Which Maven Repository Search Engine Do People Use?

Image title

Now Let's Compare These Specialized Search Engines

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 of what you're looking for (if you know Group and Artifact ID, then you don't need a search engine, do you?) and most people don't know about that feature anyways. If the result I was looking for was within the first several results (first 5 results if not specified otherwise), the search engine would receive one point, otherwise zero. These are the 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

Download Modern Java EE Design Patterns: Building Scalable Architecture for Sustainable Enterprise Development.  Brought to you in partnership with Red Hat

Topics:
java ,maven ,gradle ,artifact ,search engine

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}