Maven is reducing the duplication of dependent software libraries (jars) required to build an application. As of now we have finished local setup, now will move to maven repository manager setup.
Repository is storing all the software libraries in a remote store. Libraries private to the organization cannot be uploaded. By setting up an internal maven repository, an organization can avail of the benefits of a maven repository.
Repository jars has been used by maven pom.xml files.
1. Local repository - exists on developer's machine and is maintained by the developer. It is in sync with the maven repositories defined in the 'settings.xml' in their '~home/.m2' folder. If no private remote internal repository is setup and listed in the pom.xml file or settings.xml file, then this local repository on developer's machine is synchronized with the public maven repository at ibiblio.org.
2. Private remote internal repository - This repository which we will setup. We will change the maven pom.xml or settings.xml to use this repository
3. Public remote external repository - This is the public external repository at ibiblio.org. By default, maven synchronizes with this repository.
Some of the popular open source and free maven repositories are:
Standard maven repository |
Dead simple Maven Proxy (DSMP) |
Proximity |
Artifactory |
|
Admin tools |
No |
Basic |
Yes |
Yes |
Repository browser |
Basic |
No |
Yes |
Yes |
Deployable in standard web server (e.g. Tomcat or Jetty) |
Yes, but not configurable |
No |
Yes |
Yes(works in Tomcat and bundled with Jetty) |
Create, edit and delete sub repositories |
Yes |
Yes |
Yes |
Yes |
Bulk import/export artifacts |
No |
No |
No |
Yes |
Easy to setup and use |
Yes |
No, build from source |
Yes |
Yes(Ajax web UI) |
Backup facility |
No |
No |
No |
Yes(using Java quartz API and 'cron' expressions) |
Issue tracker, forums and other sources of information |
Jira, IRC |
No |
Wiki and issues tracker |
Jira issue tracker. Good documentation on site |
Anyone who was using Proximity is now encouraged to use Nexus (http://www.sonatype.org/nexus/). The entire codebase of Proximity was absorbed into Nexus and Nexus provides a migration path for all Proximity users.