Maven alternate pom

2019-03-17 03:23发布

问题:

Is there an argument when calling a maven build to specify an alternate file in place of the standard pom.xml file name?

Basically, I have a need to run the test goal of my maven build with a variety of configurations. Right now I am having to use an external script to update the standard pom with this configurations, then revert the file after. I would much rather just be able to maintain several seperate configuration files and call maven with the specific one I need.

What I am wondering is if there is some way to override the pom.xml such as

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

Is this possible?

回答1:

use the -f option:

mvn -f <other pom file>


回答2:

I will leave the accepted answer as just that, since it is the proper solution to running with an alternate pom file. However, for the use case I described above, I now feel the correct methodology would be to use maven profiles within the pom file.

Maven Profiles Introduction

With profiles, all versions of the test configurations can be contained within the master pom file and then executed as follows:

mvn clean test -PstandardConfig
mvn clean test -PalternateConfig
mvn clean test -PanotherConfig


标签: maven pom.xml