Search code examples
maven-2nexusartifactory

Should we use Nexus or Artifactory for a Maven Repo?


We are using Maven for a large build process (> 100 modules). We have been storing our external dependencies in source control, and using that to update a local repo.

However, we are ready to graduate to a local repo that can cache central so that we don't have to proactively download all 3rd parties (but we can still have a local repo to pull from). In addition we want to publish our internal build artifacts from a nightly build so that developers don't have to build the world.

We are considering Nexus and Artifactory. What are the reasons for preferring one over the other? Are there others we should be considering?


Solution

  • I don't know about Artifactory but here are my reasons for using Nexus:

    • Dead simple install (and since 1.2, dead simple upgrade, too)
    • Very good web UI
    • Easy to maintain, almost no administrative overhead
    • Provides you with RSS feeds of recently installed, broken artifacts and errors
    • It can group several repositories so you can mirror several sources but need only one or two entries in your settings.xml
    • Deploying from Maven works out of the box (no need for WebDAV hacks, etc).
    • it's free
    • You can redirect access paths (i.e. some broken pom.xml requires "a.b.c" from "xxx"). Instead of patching the POM, you can fix the bug in Nexus and redirect the request to the place where the artifact really is.