Nexus OSS is Here to Save You From Java.net's Maven Hell
DZone: Are there a lot of Maven-based projects on Java.net?
Jason van Zyl: Yes, there are many Maven-based projects at Java.net that would like to deploy to a healthy Maven repository infrastructure. What we would like to help provide is similar to what we have done at Apache and Codehaus. Both organizations run Nexus Pro instances to help their Maven-based do proper releases.
DZone: How is the Nexus OSS Maven development infrastructure better than the Java.net infrastructure?
Jason: The Maven repository infrastructure at Java.net is very difficult for a Maven-based project to use. What users often experience is similar to what Jean-Francois Arcand outlines here. The Nexus OSS infrastructure provides the easiest way for Maven-based projects to publish their artifacts. Nothing is required but stock Maven and we have a mechanism that helps vet the content of releases so that we know what's going into Maven Central is good. We also have good documentation about how to use the Nexus OSS service which is available here. We have many open source projects that are very happy using this infrastructure.
DZone: Why make the offer to rescue Maven projects from Java.net now? What was the last straw?
Jason: It was actually someone asking me about the Jersey JARs. We don't sync the Java.net repositories to Maven Central because they are of poor quality and so the question arises all the time why many Java.net projects' libraries are not in Maven Central. We need to start small and move forward from there. Help the projects that want to be helped and when Java.net organizationally is ready to make a change then we'll help them too, but we need to do something now.
DZone: Maven has a reputation among some developers for being overly complicated. Are sites like Java.net exacerbating that perception?
Jason: Definitely. When you can't find the dependencies that you need for your project easily through Maven's standard download mechanism then it's very annoying. You're reduced to hunting around for JARs, which renders useless all modern build systems that rely on dependency management.
DZone: How much of a hassle will it be for Java.net users to switch over to Nexus OSS?
Jason: They need to update the URL to which they publish, they will need to configure the Maven Release Plugin in their build and they will need to generate valid PGP keys in order to sign the artifacts they create. We have fully documented how this is done here. This is what we want to help projects with on March 5th.
DZone: What does Sonatype hope to gain by doing this?
Jason: It's really more a question of what the Maven community gains. Sonatype does a lot of support in the Maven community so having well functioning repositories honestly makes less work for us. We would like the process of getting content into Maven Central to be as automated and error free as possible. We also want to try and reduce the complaints that result from poorly maintained Maven repository infrastructures because it just gives the Maven project a bad wrap that we don't honestly deserve.
DZone: Where can you make a request to get help moving a Maven project from Java.net to Nexus OSS?
Jason: You need to do the following:
1) Read this introduction to the Nexus Repository Manager.
2) Make the request to use Nexus OSS here.
Come into #mavencentral on irc.codehaus.org and we'll help you get setup there.
After DZone's interview with Jason van Zyl and before the posting of this article, Jean-Francois Arcand and Fabrizio Giudici also shared some information about this subject on Javalobby.