快速业务通道

简述maven中的profiles - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
t;/profiles> <activeProfiles>    <activeProfile>appserverConfig</activeProfile> </activeProfiles> ... </settings>

简述maven中的profiles(5)

时间:2011-06-25 csdn博客 totogogo

当你执行该pom时,运行正常。但如果another user执行时,则运行失败,因为无法解析${appserver.home}(这是由于该properties是定义在user级别的settings.xml)。

解决方法就是把该profile放到pom.xml里定义,但这样做的缺点是所有使用该profile的pom.xml每个都要定义一次该profile。

最好的解决方法是:Since Maven provides good support for project inheritance, it''s possible to stick this sort of configuration in the pluginManagement section of a team-level POM or similar, and simply inherit the paths

第二、pom.xml里定义的profiles不符合激活条件

依然是举个例子:

pom.xml:

<project> ... <profiles>    <profile>     <id>appserverConfig-dev</id>     <activation>      <property>       <name>env</name>       <value>dev</value>      </property>     </activation>     <properties>      <appserver.home>/path/to/dev/appserver</appserver.home>     </properties>    </profile>    <profile>     <id>appserverConfig-dev-2</id>     <activation>      <property>       <name>env</name>       <value>dev-2</value>      </property>     </activation>     <properties>      <appserver.home>/path/to/dev/appserver2</appserver.home>     </properties>    </profile> </profiles> <build>    <plugins>     <plugin>      <groupId>org.myco.plugins</groupId>      <artifactId>spiffy-integrationTest-plugin</artifactId>      <version>1.0</version>      <configuration>       <appserverHome>${appserver.home}</appserverHome>      </configuration>     </plugin>     ...    </plugins> </build> ... </project>

简述maven中的profiles(6)

时间:2011-06-25 csdn博客 totogogo

上面定义的pom.xml定义了两个profile:不同的”env”参数值会激活不同的profile。当执行命令:

mvn -Denv=dev-2 integration-test

就会激活profile “appserverConfig-dev-2”

当执行命令:

mvn -Denv=dev integration-test

就会激活profile “appserverConfig-dev”

而当执行命令:

mvn -Denv=production integration-test

则运行失败,因为没有激活任何一个profile,因此无法解析${appserver.home}。

查看build time过程中使用了哪些Profiles

执行help plugin的active-profiles goal,使用命令:

mvn help:active-profiles

例子:

对于上面的例子,如果输入命令:

mvn help:active-profiles -Denv=dev

则输出的是:

The following profiles are active:

- appserverConfig-dev (source: pom)

如果有一个profile定义在settings.xml里并使用<activeProfile>激活,那么输入命令:

mvn help:active-profiles

则输出的是:

The follow

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号