本文共 2305 字,大约阅读时间需要 7 分钟。
profile的目的是什么?
在我们实际的开发过程中会有dev、test、product等环境,或则不同的操作OS。而它们可能需要的配置参数是不一样的,比如:数据库。通常的做法就是在切换环境的同时修改我们的代码或则同一个properties文件。基于此,maven2.0给开发提供了一个更好的选择,profiles就是用于不同环境构建不同的project.profile可以配置的地方有哪些?
profile配置不同的地方的作用是什么?
本质上分为两类:一种是maven setting,作用于所有的project,通常是将不影响project build的配置放在此类文件中。如:<repositories>、<pluginRepositories>、<properties>(可以通过通配符被pom中properties属性引用)。另一种则是pom.xml,作用于单个project或其子module,通常是将影响project build的参数配置在pom.xml中profile中,如:<resources>、<properites>。profile的激活方式?
... ... profile-1
* 根据JDK环境(自动检测),如:
<profiles>
<profile><activation><jdk>1.4</jdk></activation>...</profile></profiles>* 根据OS,如:
<profiles>
<profile><activation><os><name>Windows XP</name><family>Windows</family><arch>x86</arch><version>5.1.2600</version></os></activation>...</profile></profiles>* 根据中的 ,并同时来命令行中指定参数:mvn groupId:artifactId:goal -Ddebug=false。如:
<profiles>
<profile><activation><property><name>debug</name></property></activation>...</profile></profiles>* 根据中的 自动激活,如:
<profiles>
<profile><id>profile-1</id><activation><activeByDefault>true</activeByDefault></activation>...</profile></profiles>* 根据中的 , 和 ,如:
<profiles>
<profile><activation><file><missing>target/generated-sources/axistools/wsdl2java/org/apache/maven</missing></file></activation>...</profile></profiles>**pom.xml中的profile能修改哪些内容?**** * * * (not actually available in the main POM, but used behind the scenes)* * * * * a subset of the element, which consists of: * * * * **如何查看哪些profiles是生效的?** mvn help:active-profiles mvn help:active-profiles -P appserverConfig-dev mvn help:active-profiles -Denv=dev参考文档:http://maven.apache.org/guides/introduction/introduction-to-profiles.html
转载于:https://blog.51cto.com/881206524/2112662