将 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 一起部署,我们应该使用pomFile
deploy-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
此处不包含artifactId
、version
和packaging
参数,因为 deploy-file 目标将从给定的 POM 中获取这些信息。
部署源 Jar
要部署第 3 方源 jar,packing 应设置为java-source
, generatePom 应设置为false
。