gpt4 book ai didi

java - 对文件递归执行 Maven 命令

转载 作者:行者123 更新时间:2023-12-02 13:19:56 25 4
gpt4 key购买 nike

我有一个非常复杂的多模块 Maven 项目,其中包含嵌套项目。基本上,问题可以简化为这样的配置:

    Project A
| pom.xml
| pomBis.xml
|
|---- Project B
pom.xml
pomBis.xml
---- Project D
pom.xml
---- Project E
pom.xml
|---- Project C
pom.xml

项目 A 的 pom 有 项目 BC 作为模块。在项目B的pom中,我只有项目D。因为Project E是一个非常大的项目,我们不需要每天编译,所以它被排除在日常构建之外。

我现在想要执行 Maven 命令,例如 versions:update-parent。我希望更新我的所有项目和子项目。如果我使用 pom.xml,项目 E 将不会更新,因为它没有声明为项目 B 的子模块。

我想创建一个将使用的自定义 pomBis.xml。但是,如果我在每个子项目上创建一个 pomBis.xml,并运行该命令,则仅使用项目 A 的 pomBis.xml。当 Maven 深入时,它会回落到正常的 pom.xml。

我看到的唯一解决方案是在项目 A 中创建一个 pomBis.xml,它将列出所有子模块并真正列出所有叶项目。

我是不是搞错了什么?

最佳答案

Maven 配置文件就是答案。

项目 POM:

<pom>
.
.
.
<modules>
<module>B</module>
<module>C</module>
<modules>
</pom>

项目 B POM:

<pom>
.
.
.
<profiles>
<profile>
<id>includebeast</id>
<modules>
<module>E</module>
<modules>
</profile>
</profiles>
<modules>
<module>D</module>
<modules>
</pom>

现在,当您希望 Maven 命令影响所有项目时,请激活配置文件“includebeast”,如下例所示:

编译全部的示例:mvn cleancompile -P includebeast

关于java - 对文件递归执行 Maven 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43611728/

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