JavaRepo allows to search for modules in maven 2 repository, which can of course be used by Apache Maven, but also by Apache Ivy.
JavaRepo provides two main ways to search in the repository:
Any time JavaRepo provides a search, you can use * as a wildcard for any number of characters.
To benefit from full power of module search, you might be interested to know how it actually works.
First, module search is not a full text search, so order of words is important. If you use a space to separate several words, the space will simply be converted in a *.
Second, the search is performed over a string built like this:
[organization]#[module];[revision] (This is the standard text representation of a module revision id in Ivy)
This can be very useful to perform some interesting searches:
#ant will return all modules which module name starts with ant, whatever the organization is.
;1.7 will return all modules with a revision starting with 1.7.
And you can even combine that:
org.*#maven*;2.0.8 will return all modules with an organization containing org. and module name starting with maven and revision starting with 2.0.8.
But what if you want to match only organization starting with org, not all organizations containing org? For ease of use, by default JavaRepo actually add a * before and after your query. So when you type apache in the search box, JavaRepo actually converts this internally to *apache*. This is much easier to use, because in most cases you only want to specify a part of the module you are looking for. But for advanced queries, you can disable this behavior by adding a ! at the beginning of your query:
!org.*#maven*;2.0.8 will return all modules with an organization starting with org. and module name starting with maven and revision being exactly 2.0.8.
Powerful, isn't it?
JavaRepo uses Ivy terminology, for Maven 2 users, here are the translations:
| In Ivy | In Maven |
|---|---|
| organization | groupId |
| module | artifact |
| revision | version |
As you can see JavaRepo provides an interface for human beings, but it has also been thought to be used as a REST api. There is no documentation for this purpose though, contact me if you are interested and need help about this.
JavaRepo has been developed in a day, so you may find bugs and/or site outage. It is provided as is, use it at your own risk