Maven Repository - FAQ

This page contains frequently asked questions related to the new JBoss.org Maven repositories.

 

What is the new Maven repository?

 

JBoss.org will soon have available a repository manager called Nexus.  This is a web server application that provides many features which improve the way a set of Maven repositories can be used.  More general information about Nexus can be found on the Nexus Sonatype site (http://nexus.sonatype.org/).  Nexus will provide a new interface to the repository that allows easy searching of artifacts, staging of releases, automatic proxying from thirdparty repositories, and several other features.

 

When will the new respository be available?

 

The release date for this new system is April 19, 2010.

 

How can I use the new Maven repository?

 

Projects will be able to use the new Maven repository by configuring their settings.xml.  For most projects a single URL (referring to a repository group) will be used to download all project dependencies.

 

Deployment to the repository will take place via a simple http call.   This will be configured in the pom.xml or using the altDeploymentRepository option of the Maven deploy plugin.  Release deployments will go through a staging and simple verification process, snapshot deployments will be immediately deployed to the repository.

 

More specific information about settings.xml and deployment configuration will be provided before the release of the new repository.  Some preliminary information can be found here ( Maven Repository Configuration )

 

Do artifacts from the central Maven repository or other thirdparty repositories still need to be added manually to the repository?

 

No, artifacts from the central Maven repository and other thirdparty repositories will be automatically saved by Nexus as long as they are retrieved through the URL of the repository group.

 

Will JBoss.org artifacts automatically be synced to the central Maven repository?

 

Not at this time.  There are plans to provide the capability to automatically sync release aritfacts to the central Maven repository in a future release of the JBoss.org repositories, but this will not be available in the first release.

 

How do I release my project using the new Maven repository?

 

The first step will be to deploy your project to the staging URL.  This will create a temporary staging repository in Nexus.  You will then need to log in to Nexus using your JBoss.org userid and password and close the staging repository.  This staging repository can then be used to verify your release artifacts.  Once you have tested the artifacts you can either drop the staging repository and restart the release process, or you can promote the artifacts to the release repository.

 

How do I deploy snapshots to the new Maven Repository?

 

There is a new snapshot URL for deployment and for downloading of snapshots.  You will need to update your maven settings.xml with the new repository URL, and update your poms with the new snapshot deployment URL

 

Will the repository still contain a mix of JBoss.org artifacts and thirdparty artifacts?

 

No.  The current releases repository (repository.jboss.org/maven2) will be split into several smaller repositories.  More detailed information about the repository split can be found here ( Maven Repository Organization ).  Even though there will be several separate repositories, most developers will be able to use a single repository URL for their builds.  This URL refers to a Nexus repository group which includes several hosted and proxies Maven repositories.

How do I deploy thirdparty artifacts to the new Maven Repository?

Uploading a Thirdparty Artifact

Will I still be able to upload files using SVN?

 

No, access to the old svn repository will be disabled April 16 at 20 UTC in order to ensure that all artifacts are correctly transferred to the new repository.

 

Will there still be a way to see who uploaded a specific artifact?

Yes, we have created a Nexus plugin that tracks information about who uploaded a given artifact.  We will also transfer information from the current svn repo into the new repository containing the user who last modified an artifact.