2016-02-25 113 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