Guide to deploying 3rd party JARs to remote repository
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 instead to local repository the JAR will be install 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 deploy 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 is already existing for the 3rd Party JAR and you want to deploy it together with the JAR we 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
.