Maven部署而不上传任何pom文件

时间:2016-03-21 13:20:57

标签: maven

我正在构建一个多平台的javafx应用程序。最后的过程是创建一个安装程序(exe,dmg,deb ..与jre捆绑)并将其上传到一个特殊的“产品发布”仓库。鉴于javafx构建需要如何完成,它在3个不同的平台上运行jenkins矩阵作业。最后一步是部署。我使用build-helper-maven插件附加安装程序。

我能够在一个平台上正确上传安装程序,但由于部署似乎上传了pom文件,因此无法再从其他jenkins slave上传。

首先我遇到maven上传“主jar”的问题,但我设法通过将jar插件绑定到'none'阶段来禁用它(我使用创建自己的主jar的maven-javafx-plugin)。但是我无法禁用pom生成和上传。我已经设置了

<generatePom>false</generatePom> 

对于maven-deploy-plugin但似乎没有任何影响(我认为它适用于我已经禁用的主jar)。

是否可以完全禁用pom生成/上传(类似于gradle的'uploadDescriptor false'选项)并且只上传'附加工件'?

编辑/注意:我可能接下来尝试部署文件选项,https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html,但是知道这是否可以在整个项目级别上完成是很好的

2 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。我使用deploy-file选项完成了它:

我将default-deploy绑定为none以禁用它。然后我做了新的“本地部署”执行,我必须部署阶段。在它的配置中,我将generatePom设置为false并将文件指向我之前使用的文件,将其作为附件工件(通过构建帮助程序插件)附加。我不得不再次放入coodrinates(即从项目中通过。*)。但确实工作并从所有机器上传安装程序,没有任何pom文件。我确实必须重新启用默认的jar创建,因为maven抱怨没有神器绑定(我想我可以将包装更改为pom,无论如何它都没有上传,因为默认上传被禁用,所以那里好)。

我想如果有更一般的解决方案,那将是更正确的答案,但对我来说这已经足够了。

答案 1 :(得分:-2)

maven-deploy-plugin具有配置选项skip,该选项采用布尔值,如果设置为true则禁止执行此插件。

我认为这就是你要找的东西。

Apache Maven Deploy Plugin documentation