[英]maven deploy:deploy-file working but maven deploy not working
[英]Maven deploy:deploy-file removes extension from file
我正在嘗試使用deploy-file
目標單獨部署簽名文件到Nexus登台存儲庫,但我注意到mvn deploy插件刪除了擴展名。 我的文件是這樣的: azerty-0.1.jar.asc
但部署的文件是: azerty-0.1.asc
我嘗試添加分類器: -Dclassifier=jar
部署的文件是: azerty-0.1-jar.asc
這似乎是一種奇怪的行為。
問題 :任何想法如何解決它?
這是一個正常的行為,Maven使用文件擴展名作為artefact packaging
,來自maven-deploy-plugin
, deploy-file
, packaging
選項:
要部署的工件的類型。 如果指定了POM文件,則從POM文件的
<packaging>
元素中檢索。 如果未通過命令行或POM指定,則默認為文件擴展名 。
注意:大膽是我的。
此外, classifier
選項確實會在版本和作為分類器提供的字符串之間添加-
這是maven 約定 。
你的情況,你要指定一個特殊的packaging
,這將是jar.asc
如果你真的想遠程文件有盡可能延長jar.asc
。
因此以下工作:
mvn deploy:deploy-file -Dfile=azerty-0.1.jar.asc -Dpackaging=jar.asc -DrepositoryId=your_id -Durl=http://your_repository -DgroupId=your_groupId -DartifactId=azerty -Dversion=0.1
注意-Dpackaging=jar.asc
,它有效地告訴Maven文件擴展名為jar.asc
。
作為一般說明,如果您使用存儲庫作為構建存儲,那仍然是合理的,否則在您的情況下,您將向Maven存儲庫推送一個工件,然后在項目中導入將很困難(或者說很奇怪) 。
如果這實際上是您項目的另一個工件,您應該查看build-helper-maven-plugin
的attach-artifact
目標,以便將其有效地定義為其他工件,然后Maven會自動將其添加到其install
和deploy
相。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.