【发布时间】:2018-06-22 02:01:09
【问题描述】:
这是我当前的项目设置:
父母
- 子模块 A
- 子模块 B
- 子模块 C
我有一个多模块设置,其中一个特定子模块 (A) 的编译需要相当长的时间。由于 A 很少更改,我想在重新编译项目时跳过它。但是我遇到了问题,因为 B 依赖于 A。所以执行
mvn clean install -pl !A
或使用类似的配置文件
<modules>
<module>Submodule B</module>
<module>Submodule C</module>
<modules>
<profiles>
<profile>
<id>include-A</id>
<modules>
<module>Submodule A</module>
</modules>
</profile>
</profiles>
失败是因为 B 无法找到 A,即使它存在于我之前 Maven 执行的 .m2 文件夹中,因为它在我们的 Nexus 存储库中查找该工件。
如果我将子模块 A 移到一个单独的项目中似乎可行,但是我必须管理具有相同配置的两个项目,所以我更愿意保留我的项目结构。
【问题讨论】:
-
如果您确定您的子模块 A 已正确构建,您可以使用选项 -rf :submoduleB 开始构建,这将使 Maven 仅从您的子模块 B 而不是从子模块开始构建您的项目A. 但是,无论何时您要发布您的项目,请始终对其进行完整构建
-
感谢您的想法,但是它失败并出现相同的错误,因为它仍然无法解决依赖项 A
标签: java maven dependencies multi-module