Deploying Maven Artifacts to the Staging Repository

Apache has 2 official maven repositories for incubating projects (see http://apache.org/dev/repository-faq.html ). The repositories are on people.apache.org/repo/:

Incubating snapshots use the main snapshot repository.

Maven can automatically deploy artifacts (such as jar files) to a remote repository.

To deploy artifacts you must be a committer and have ssh access to people.apache.org. On Windows, you have to modify your
Maven settings.xml file to indicate what your ssh client is. For me, this file is in Document And Settings/Administrator/.m2. I added the following stanza:

<servers>
   <server>
     <id>staging-repository</id>
     <username>alally</username>
     <privateKey>c:/alally/keys/alally.ppk</privateKey>
     <configuration>
       <sshExecutable>plink</sshExecutable>
       <scpExecutable>pscp</scpExecutable>
     </configuration>
   </server>
</servers>

which works if you have putty installed (be sure to point at your own privateKey file, and start Pageant). More info about this here: http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html

Then, to do a deployment, execute the following command (from the uimaj directory):
mvn source:jar deploy
The source:jar builds a jar having all the sources, signs it, and deploys it. Our uimaj POM specifies both a regular repository location and a snapshot repository location, following the above conventions.

If you are building a UIMA distribution using the extractAndBuild script, you can
pass the -deploy option to do the Maven deployment as part of the build process.

  • No labels