53

调用 maven 构建以指定替代文件代替标准 pom.xml 文件名时是否有参数?

基本上,我需要使用各种配置运行我的 Maven 构建的测试目标。现在我不得不使用一个外部脚本来更新这个配置的标准 pom,然后恢复文件。我宁愿只能够维护几个单独的配置文件,并用我需要的特定文件调用 maven。

我想知道是否有某种方法可以覆盖 pom.xml,例如

mvn clean test   (uses standard pom.xml)
mvn clean test -Dmaven.source=alternate.xml
mvn clean test -Dmaven.source=alternate2.xml

这可能吗?

4

3 回答 3

109

使用 -f 选项:

mvn -f <other pom file>
于 2010-12-23T14:38:33.630 回答
9

我将保留已接受的答案,因为它是使用备用 pom 文件运行的正确解决方案。但是,对于我上面描述的用例,我现在觉得正确的方法是在 pom 文件中使用 maven 配置文件。

Maven Profiles 简介

使用配置文件,所有版本的测试配置都可以包含在主 pom 文件中,然后按如下方式执行:

mvn clean test -PstandardConfig
mvn clean test -PalternateConfig
mvn clean test -PanotherConfig
于 2012-12-10T22:19:44.440 回答
1

当我得到最终答案时,我发现了这个非常有趣的解决方案。我遵循以下方法:-

mvn -f yourPomfil.xml 目标

其中的目标可以是 clean、verify、package、install、deploy 等 maven 目标

于 2020-01-09T22:29:49.653 回答