gpt4 book ai didi

maven - 如何使用 Maven Reactor 构建模块及其子模块?

转载 作者:行者123 更新时间:2023-12-02 23:47:37 24 4
gpt4 key购买 nike

我有一个包含三个级别模块的项目。假设它具有以下组织...

+-- maven-root
+-- maven-module-1
| +-- maven-submodule-1-1
| +-- maven-submodule-1-2
+-- maven-module-2
| +-- maven-submodule-2-1
| +-- maven-submodule-2-2
+-- maven-module-3
+-- maven-submodule-3-1
+-- maven-submodule-3-2

此外,我们还有以下一组依赖项

  • maven-module-2 依赖于 maven-module-1
  • maven-module-3 依赖于 maven-module-3

在此结构中,假设 maven-module-1 及其子模块的 Artifact 已在本地存储库中可用,是否有使用 Maven Reactor(作为示例)仅构建 的解决方案>maven-module-2 及其子模块?

我已经知道,使用 Maven Reactor,如果我这样做

mvn clean install -pl :maven-module-2 --also-make-dependant

它将构建

  1. maven-module-2
  2. maven-submodule-2-1
  3. maven-submodule-2-2
  4. maven-module-3
  5. maven-submodule-3-1
  6. maven-submodule-3-2

as maven-module-3 依赖于 maven-module-2

显然,正在运行

mvn clean install -pl :maven-module-2 --also-make

只会构建 maven-module-1maven-module-2

那么,如何使用该项目组织,仅构建 maven-module-2

最佳答案

使用

mvn clean install -f maven-module-2 -N

将仅构建 maven-module-2 和

mvn clean install -f maven-module-2

将构建 maven-module-2 及其子模块

请注意,-f 用于告诉 Maven 使用另一个 POM(或模块目录,它包含其中的 pom.xml)而不是当前目录中的 POM。因此,与 -pl 不同,在 -pl 中,maven 会考虑项目中的所有模块,然后仅构建其中的子部分,而 -f 仅构建此项目/模块/pom 引用的内容。待办事项

mvn clean install -f maven-module-2

完全一样

cd maven-module-2; mvn clean install

关于maven - 如何使用 Maven Reactor 构建模块及其子模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com