我在pom.xml
中有两个针对不同环境的配置文件,我必须运行mvn -PTest1 install
和mvn -PTest2 install
命令才能使用这些配置文件。我们可以将两个单独的maven命令集成在一个(例如mvn clean install
)吗?
这是我的Pom条目
<profiles>
<profile>
<id>Test1</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.5</jdk>
<os>
<name>Windows XP</name>
<family>Windows</family>
<arch>x86</arch>
<version>5.1.2600</version>
</os>
<property>
<name>sparrow-type</name>
<value>African</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>
com.endeca
</groupId>
<artifactId>
endeca_navigation_Test1
</artifactId>
<version>
6.1
</version>
<!--<version>stable</version> -->
<scope>
compile
</scope>
</dependency>
</profile>
<profile>
<id>Test2</id>
<activation>
<activeByDefault>false</activeByDefault>
<jdk>1.5</jdk>
<os>
<name>Windows XP</name>
<family>Windows</family>
<arch>x86</arch>
<version>5.1.2600</version>
</os>
<property>
<name>sparrow-type</name>
<value>African</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>
com.endeca
</groupId>
<artifactId>
endeca_navigation_Test2
</artifactId>
<version>
6.1
</version>
<!--<version>stable</version> -->
<scope>
compile
</scope>
</dependency>
</dependencies>
</profile>
</profiles>
使用单个命令
管理hudson作业会很有帮助答案 0 :(得分:60)
根据documentation和讨论here,尝试用逗号分隔个人资料名称:
mvn install -P Test1,Test2
答案 1 :(得分:17)
对我而言,Mifeet的回答并不奏效。我得到了未知的生命周期阶段Test2&#34;。对我而言,这是有效的:
mvn install -PTest1 -PTest2
答案 2 :(得分:10)
Mifeet's answer是正确的,但在Windows PowerShell中,您应该引用参数,否则您将获得&#34;未知的生命周期阶段&#34;错误。
mvn install -P 'Test1,Test2'
答案 3 :(得分:0)
基于maven帮助命令
-P,--activate-profiles <arg> Comma-delimited list of profiles to activate
因此,您可以运行mvn package -Pp1,p2
来使用p1和p2运行配置文件ID