Maven并行构建错误的顺序
Maven parallel build wrong order
我正在尝试通过并行处理加速我的 Maven 构建。该项目 multi-modular 带有嵌套模块。结构如下:
- parent
- m1
- 平方米
- sub-parent(一个不生成神器的项目,而是一个文件夹,里面有资源供m3使用)
- 立方米
编辑:现在我什至看到,至少有一次 m3 在 sub-parent 甚至开始之前完成了它的复制目标,因此使用了 [= 之前的先前构建的结果43=] 开始清理了。
如果我这样做 mvn dependency:tree -Dverbose -Dincludes=my.packages.*
我看到 sub-parent 正确地列在 m3 的依赖项中。然而,有时(很少)并行构建 mvn -T 1C clean install
失败,因为 m3 构建早于 sub-parent 执行。
是否有强制执行命令的解决方法?我知道你不能直接设置它。问题是,我不能将 sub-parent 作为 m3 的依赖项,因为它没有工件。而且我不确定我是否需要它,因为依赖关系树显示 maven 知道这种依赖关系。
编辑: 我添加了一个示例最小项目。 https://github.com/Imaskar/build-order。除了 sub/keystore 需要换成真实的。有趣的是,这里的依赖树并没有将 sub 显示为 m3 的依赖项。如何告诉 m3 依赖它,尽管 sub 没有构建到 jar 文件?
好吧,我很久以前就想出来了,但希望任何人都能接受。解决方案是用
声明依赖关系
<type>pom</type>
我正在尝试通过并行处理加速我的 Maven 构建。该项目 multi-modular 带有嵌套模块。结构如下:
- parent
- m1
- 平方米
- sub-parent(一个不生成神器的项目,而是一个文件夹,里面有资源供m3使用)
- 立方米
编辑:现在我什至看到,至少有一次 m3 在 sub-parent 甚至开始之前完成了它的复制目标,因此使用了 [= 之前的先前构建的结果43=] 开始清理了。
如果我这样做 mvn dependency:tree -Dverbose -Dincludes=my.packages.*
我看到 sub-parent 正确地列在 m3 的依赖项中。然而,有时(很少)并行构建 mvn -T 1C clean install
失败,因为 m3 构建早于 sub-parent 执行。
是否有强制执行命令的解决方法?我知道你不能直接设置它。问题是,我不能将 sub-parent 作为 m3 的依赖项,因为它没有工件。而且我不确定我是否需要它,因为依赖关系树显示 maven 知道这种依赖关系。
编辑: 我添加了一个示例最小项目。 https://github.com/Imaskar/build-order。除了 sub/keystore 需要换成真实的。有趣的是,这里的依赖树并没有将 sub 显示为 m3 的依赖项。如何告诉 m3 依赖它,尽管 sub 没有构建到 jar 文件?
好吧,我很久以前就想出来了,但希望任何人都能接受。解决方案是用
声明依赖关系<type>pom</type>