mvn deploy:deploy-file RPM和tgz

时间:2016-02-25 22:14:30

标签: maven tar

我可以使用以下mvn命令行选项自行部署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 \
-Dpackaging=rpm \
-Dfile="testApp-1.0.15-1.el6.x86_64.rpm"

我现在想要包含一个.tgz文件和RPM。完成此任务的正确选项是什么?我已尝试使用sourcesfilestypesclassifiers选项,如 here 所述,各种组合为no效果,甚至不是错误。

1 个答案:

答案 0 :(得分:0)

简单的解决方案是再次执行deploy:deploy-file目标。

由于两个工件都有不同的包装,因此不会发生任何冲突:第一个包装采用rpm包装,第二个采用tgz包装。来自packaging

  

如果未通过命令行或POM指定,则默认为文件扩展名。

因此,您不需要提供该参数,它将默认为扩展名。

唯一的洞穴是插件将尝试为第二次执行生成另一个POM。来自generatePom

  

如果pomFile参数没有提供,则会生成默认POM。默认值:true

但是,您可以将generatePom设置为false来禁用该功能。

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"