Overview

In a corporate environment it makes sense to have some control over the setup of Maven.
For example:

restricting dependencies to approved versions of artifacts

reducing network bandwidth by having a maven repository proxied

sharing corporate assets by deploying them centrally

These scenarios can be realized by using internal Maven repositories and a Maven proxy. Be very careful not to confuse these two concepts as both services are often located on the same physical machine and it is easy to get them mixed up.

This guide will recommend installing both the Maven internal repositories and the Maven proxy on a single machine and to make this guide a bit more readable this machine will be called NUCLEUS.

Maven Proxy Choices

Nexus http://nexus.sonatype.orgis the successor of the popular Proximity repository manager. Nexus is completely configurable with a extJS UI and has a very lightweight footprint but is very scalable. Nexus is able to generate indexes on the fly that are consumable by The M2Eclipse plugin (http://m2eclipse.sonatype.org)

Artifactory http://artifactory.sf.net, an enterprise proxy and repository manager, that is a complete new rewrite of maven-proxy. Artifactory runs out-of-the-box on a lightweight Jetty server and can also be deployed on a standard servlet container as WAR file.

Another project which only offers a proxy (with very limited support to simulate a company repository server) is DSMP (Dead Simple Maven Proxy) at http://www.pdark.de/dsmp/. It's means to simplify the handling of Maven mirrors, inject patches for buggy/broken releases on the official sites and to allow aggregate several sites in a controlled way (for example, you can specify rules to allow to use specific SNAPSHOT versions for a single plugin without polluting your local or company repository with SNAPSHOT's).

If you need to have a proxy and still share your artifacts with other people in your team/company, install Proximity, Artifactory or Archiva as a site wide repository server and DSMP to connect Maven with the Internet.