将 3rd 方 JAR 部署到远程存储库的指南

maven-install-plugin 的install:install-file目标的相同概念,其中 3rd 方 JAR 安装在本地存储库中。但这次 JAR 将安装在本地和远程存储库中,而不是本地存储库。

要部署第 3 方 JAR,请使用 maven-deploy-plugin 下的 deploy:deploy-file 目标。

首先,wagon-provider(wagon-ftp, wagon-file, etc..) 必须放在您的${maven.home}/lib.

然后执行命令:

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>

使用通用 POM 部署第 3 方 JAR

默认情况下,deploy:deploy-file 会生成一个通用 POM(.pom) 以与第 3 方 JAR 一起部署。要禁用此功能,我们应该将generatePOM参数设置为 false。

-DgeneratePom=false

使用自定义 POM 部署第 3 方 JAR

如果第 3 方 JAR 的 POM 已经存在并且您想将它与 JAR 一起部署,我们应该使用pomFiledeploy-file 目标的参数。请参阅下面的示例。

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>

请注意,groupId此处不包含artifactIdversionpackaging参数,因为 deploy-file 目标将从给定的 POM 中获取这些信息。

部署源 Jar

要部署第 3 方源 jar,packing 应设置为java-source, generatePom 应设置为false