我正在构建一个多平台的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,但是知道这是否可以在整个项目级别上完成是很好的
答案 0 :(得分:0)
我设法解决了这个问题。我使用deploy-file选项完成了它:
我将default-deploy绑定为none以禁用它。然后我做了新的“本地部署”执行,我必须部署阶段。在它的配置中,我将generatePom设置为false并将文件指向我之前使用的文件,将其作为附件工件(通过构建帮助程序插件)附加。我不得不再次放入coodrinates(即从项目中通过。*)。但确实工作并从所有机器上传安装程序,没有任何pom文件。我确实必须重新启用默认的jar创建,因为maven抱怨没有神器绑定(我想我可以将包装更改为pom,无论如何它都没有上传,因为默认上传被禁用,所以那里好)。
我想如果有更一般的解决方案,那将是更正确的答案,但对我来说这已经足够了。
答案 1 :(得分:-2)
maven-deploy-plugin
具有配置选项skip
,该选项采用布尔值,如果设置为true
则禁止执行此插件。
我认为这就是你要找的东西。