簡體   English   中英

Maven發布插件,帶有來自命令行的classifer快照依賴項

[英]Maven release plugin with classifer snapshot dependencies from command line

我正在嘗試以批處理模式從命令行運行maven release插件,以獲得一個多模塊項目,該項目具有使用分類器部署到maven存儲庫的依賴項。

release:prepare在不處於批處理模式時正常工作,並提示所有未解析的快照依賴項,包括具有分類器且發布成功完成的快照依賴項。

當我查看release.properties文件時,我看到......

常規依賴關系被識別為

project.rel.groupIdXYZ:artifactIdXYZ=2.0.3.4
project.dev.groupIdXYZ:artifactIdXYZ=2.0.3.4-SNAPSHOT

分類器依賴關系標識為

dependency.groupIdABC:artifactIdABC.release=2.0.3.4
dependency.groupIdABC:artifactIdABC.development=2.0.3.4-SNAPSHOT

沒有實際的分類器ID。

現在我通過命令行嘗試使用命令行,如...

mvn --batch-mode -P release,nexus -Dtag=rm2.0.3.4 -Dproject.rel.groupIdXYZ:artifactIdXYZ=2.0.3.4 -Dproject.dev.groupIdXYZ:artifactIdXYZ=2.0.3.4-SNAPSHOT -Ddependency.groupIdABC:artifactIdABC.development=2.0.3.4-SNAPSHOT -Ddependency.groupIdABC:artifactIdABC.release=2.0.3.4 -DreleaseVersion=2.0.3.4 -DdevelopmentVersion=2.0.3.4-SNAPSHOT -DdryRun=true release:prepare

得到

Can't release project due to non released dependencies :
groupIdABC:artifactIdABC:jar:classifierIdABC:2.0.3.3-SNAPSHOT:compile

我已經驗證了分類器工件是我當地的maven repo我們的公司中央maven repo。 我已經嘗試將分類器工件指定為

-Dproject.rel.groupIdABC:artifactIdABC:jar:classifierIdABC=2.0.3.4

仍然是同樣的錯誤。

任何能夠從命令行運行它的指針都將受到贊賞。

如果將allowTimestampedSnapshots屬性設置為true怎么辦? 它仍然拋出錯誤嗎?

maven-release-plugin要求所有依賴版本都是非SNAPSHOT ...原因很明顯。 必須是最終版本。

如果您知道您的依賴項確實有非SNAPSHOT版本可用(您之前發布過它們),那么您可以使用versions-maven-plugin自動更新pom.xml

mvn versions:use-latest-versions -DallowSnapshots=false -Dincludes=com.my.*

並防止release-plugin抱怨對pom.xml的未提交更改...

 mvn release:prepare ... -DcheckModificationExcludeList=pom.xml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM