0

我正在尝试通过并行处理加快我的 Maven 构建。该项目是具有嵌套模块的多模块。结构如下:

  • 父母
    • 米1
    • 平方米
    • 子父级(一个不生成工件的项目,而是一个包含供 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 显示为 m3 的依赖。尽管 sub 没有构建到 jar 文件中,如何告诉 m3 依赖它?

4

1 回答 1

2

好的,我前段时间想通了,但希望任何人都能接受。解决方案是声明一个依赖项

<type>pom</type>
于 2018-05-23T15:52:36.890 回答