我试图通过并行处理来加速我的maven构建。该项目采用嵌套模块进行多模块化。结构如下:
编辑:现在我甚至看到,至少有一次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文件中的?
答案 0 :(得分:0)
好的,我前段时间已经弄明白了,但是希望任何人都可以信用。解决方案是使用
声明依赖关系<type>pom</type>