Apache

Specimen. A proposed redesign of maven.apache.org, not the official Apache Maven site. The official site is maven.apache.org. About this example

Docs Dependencies and repositories

Guide to deploying 3rd party JARs to remote repository

Holds for
Not yet checked against Maven 3.9, 3.10 and 4.0
Changed
Source
Edit this page
Wrong?
Report a problem

Same concept of the install:install-file goal of the maven-install-plugin where the 3rd party JAR is installed in the local repository. But this time the JAR will be installed both in the local and remote repository.

To deploy a 3rd party JAR, use the deploy:deploy-file goal under maven-deploy-plugin.

First, the wagon-provider(wagon-ftp, wagon-file, etc..) must be placed to your ${maven.home}/lib.

Then execute the command:

mvn deploy:deploy-file -DgroupId=<group-id> \
  -DartifactId=<artifact-id> \
  -Dversion=<version> \
  -Dpackaging=<type-of-packaging> \
  -Dfile=<path-to-file> \
  -DrepositoryId=<id-to-map-on-server-section-of-settings.xml> \
  -Durl=<url-of-the-repository-to-deploy>

Deploying a 3rd party JAR with a generic POM

By default, deploy:deploy-file generates a generic POM(.pom) to be deployed together with the 3rd party JAR. To disable this feature we should set the generatePOM argument to false.

-DgeneratePom=false

Deploying a 3rd party JAR with a customized POM

If a POM already exists for the third party JAR and you want to deploy it together with the JAR, you should use the pomFile argument of the deploy-file goal. See sample below.

mvn deploy:deploy-file -DpomFile=<path-to-pom> \
  -Dfile=<path-to-file> \
  -DrepositoryId=<id-to-map-on-server-section-of-settings.xml> \
  -Durl=<url-of-the-repository-to-deploy>

Note that groupId, artifactId, version and packaging arguments are not included here because deploy-file goal will get these information from the given POM.

Deploying Source Jars

To deploy a 3rd party source jar, packaging should be set to java-source, and generatePom should be set to false.