Maven跳过重新编译子模块

时间:2018-01-12 15:17:08

标签: java maven dependencies multi-module

这是我目前的项目设置:

  • 子模块A
  • 子模块B< - 取决于A
  • 子模块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移动到一个单独的项目中似乎有效,但我必须管理两个具有相同配置的项目,因此我更愿意保留我的项目结构。

1 个答案:

答案 0 :(得分:0)

可能不是最优雅的解决方案,但你可以在另一个模块下整合子模块B和C,如下所示:

  • 子模块A
  • 子母
    • 子模块B
    • 子模块C

现在您应该能够cd进入Sub Parent文件夹并仅构建子模块B和C.