gpt4 book ai didi

maven - 在 Maven 构建期间跳过子模块

转载 作者:行者123 更新时间:2023-12-03 04:23:31 32 4
gpt4 key购买 nike

我们需要能够在某些环境中跳过子模块。

相关模块包含集成测试,需要半个小时才能运行。因此,我们希望在 CI 服务器上构建时包含它,但当开发人员在本地构建(并且运行测试)时,我们希望跳过该模块。

有没有办法通过配置文件设置来做到这一点?我已经进行了一些谷歌搜索并查看了这里的其他问题/答案,但没有找到好的解决方案。

我认为一个选择是从父 pom.xml 中完全删除该子模块,然后在我们的 CI 服务器上添加另一个项目来构建该模块。

建议?

最佳答案

Maven 版本 3.2.1 添加了此功能,您可以将 -pl 开关( shortcut 表示 --projects 列表)与 一起使用!- ( source ) 以排除某些子模块。

mvn -pl '!submodule-to-exclude' install
mvn -pl -submodule-to-exclude install

猛击角色时要小心!是一个特殊字符,因此您要么必须用单引号引用它(就像我所做的那样),要么使用反斜杠字符将其转义。

排除多个模块的语法与包含相同

mvn -pl '!submodule1,!submodule2' install
mvn -pl -submodule1,-submodule2 install

编辑 Windows 似乎不喜欢单引号,但在 bash 中是必需的;在 Windows 中,使用双引号(感谢 @awilkinson)

mvn -pl "!submodule1,!submodule2" install

关于maven - 在 Maven 构建期间跳过子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304110/

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