簡體   English   中英

Maven部署:deploy-file從文件中刪除擴展

[英]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-plugindeploy-filepackaging選項:

要部署的工件的類型。 如果指定了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-pluginattach-artifact目標,以便將其有效地定義為其他工件,然后Maven會自動將其添加到其installdeploy相。

暫無
暫無

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

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