Maven并行构建错误的订单

时间:2018-05-18 16:50:47

标签: maven maven-3 maven-dependency-plugin parallel-builds

我试图通过并行处理来加速我的maven构建。该项目采用嵌套模块进行多模块化。结构如下:

    • M1
    • 平方米
    • sub-parent(一个没有生成工件的项目,但是包含m3资源的文件夹)
    • 立方米

编辑:现在我甚至看到,至少有一次m3在子父级甚至启动之前完成了复制目标,因此在子父级开始清理之前使用了之前构建的结果。

如果我mvn dependency:tree -Dverbose -Dincludes=my.packages.*,我看到子父在m3的依赖项中正确列出。但是,有时(很少)并行构建mvn -T 1C clean install失败,因为m3构建比子父级更早执行。

是否有强制执行订单的解决方法?我知道你无法直接设置它。问题是,我不能将子父作为m3的依赖,因为它没有工件。而且我不确定我是否需要它,因为依赖树显示maven知道这种依赖。

修改:我添加了一个示例最小项目。 https://github.com/Imaskar/build-order。除了sub / keystore需要换成真实的。有趣的是,这里依赖树并没有将子显示为m3的依赖关系。如何告诉m3依赖它,尽管sub不是建立在jar文件中的?

1 个答案:

答案 0 :(得分:0)

好的,我前段时间已经弄明白了,但是希望任何人都可以信用。解决方案是使用

声明依赖关系
<type>pom</type>