2016-02-25 163 views
1

我可以使用下面的MVN命令行選項本身部署的RPM:MVN部署:部署文件RPM和TGZ

mvn -e deploy:deploy-file \ 
-Durl=http://repo.myorg.com/content/repo/snapshots \ 
-DrepositoryId=myorgsnapshots \ 
-DgroupId=com.myorg.mygroup \ 
-DartifactId=testApp \ 
-Dversion=1.0.15-SNAPSHOT \ 
-Dpackaging=rpm \ 
-Dfile="testApp-1.0.15-1.el6.x86_64.rpm" 

我現在想還包括一個.tgz的文件與RPM一起。什麼是完成這項任務的正確選擇?我已經嘗試使用sources,files,typesclassifiers選項,如here以各種組合方式無效,甚至沒有錯誤。

回答

0

簡單的解決方案是再次執行deploy:deploy-file目標。

不會有任何衝突,因爲這兩個工件都會有不同的包裝:第一個包裝採用rpm包裝,第二個包裝採用tgz包裝。從packaging

如果未通過命令行或POM指定,則默認爲文件擴展名。

因此,您不需要提供該參數,它將默認爲擴展名。

唯一的洞穴是該插件將嘗試爲第二次執行生成另一個POM。從generatePom

如果沒有提供pomFile參數,將會生成默認的POM。默認值:true

你可以通過設置generatePomfalse但禁用。

mvn -e deploy:deploy-file \ 
-Durl=http://repo.myorg.com/content/repo/snapshots \ 
-DrepositoryId=myorgsnapshots \ 
-DgroupId=com.myorg.mygroup \ 
-DartifactId=testApp \ 
-Dversion=1.0.15-SNAPSHOT \ 
-Dfile="testApp-1.0.15-1.el6.x86_64.rpm" 

mvn -e deploy:deploy-file \ 
-Durl=http://repo.myorg.com/content/repo/snapshots \ 
-DrepositoryId=myorgsnapshots \ 
-DgroupId=com.myorg.mygroup \ 
-DartifactId=testApp \ 
-Dversion=1.0.15-SNAPSHOT \ 
-DgeneratePom=false \ 
-Dfile="testApp-1.0.15-1.el6.x86_64.tgz" 
+0

快照工作,但對於發行時,與'-DgeneratePom = FALSE',我還得到一個錯誤'的錯誤安裝神器的元數據:錯誤而部署的元數據:未能轉移file'我想創建一個POM是必需的。 –

+0

@ MichaelA.Jackson什麼是確切的錯誤信息和你所做的確切步驟? – Tunaki