Publishing Maven Artifacts
The previous labs covered how to add project visibility on quality and progress. Now let's add visibility on deliverables by publishing a project's artifacts. Let's consider the QOTD project. It has several artifacts: a JAR in qotd/core, a WAR in qotd/web, and a zip in qotd/packager. Imagine you want to deploy them to a Maven remote repository.
How do I do that?
Several Maven plug-ins—including the JAR, WAR, EAR, and RAR
plug-ins—deploy the artifact they generate. Thus, to deploy a JAR you
use jar:deploy, to deploy a WAR you
use war:deploy, to deploy an EAR
you use ear:deploy, etc.
Under the hood all these deploy goals use the Artifact plug-in's
artifact:deploy Jelly tag to
perform the actual deployment. Thus, to properly deploy
an artifact you need to find out how to configure the Artifact
plug-in.
Let's practice by deploying the qotd/core JAR. The first thing to decide is what deployment protocol you're going to use. The Artifact plug-in supports several deployment protocols: SCP, file copy, FTP, and SFTP (see http://maven.apache.org/reference/plugins/artifact/protocols.html for more details).
You are going to use the SCP method to deploy the JAR artifact, as it is one of the most commonly used protocols, and it's secure. You also need to tell the Artifact plug-in where to deploy to. Let's imagine you'd like to publish to http://www.mavenbook.org, for example.
As these properties are true for any subproject in QOTD, add the following Artifact plug-in properties ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access