maven-profile-创新互联
profile的目的是什么?
在我们实际的开发过程中会有dev、test、product等环境,或则不同的操作OS。而它们可能需要的配置参数是不一样的,比如:数据库。通常的做法就是在切换环境的同时修改我们的代码或则同一个properties文件。基于此,maven2.0给开发提供了一个更好的选择,profiles就是用于不同环境构建不同的project.
profile可以配置的地方有哪些?
- 项目中的pom.xml
- 系统用户中的maven setting:%USER_HOME%/.m2/settings.xml
- 全局的maven setting:(${maven.home}/conf/settings.xml)
- 位于project basedir 中的profile descriptor:(profiles.xml)
profile配置不同的地方的作用是什么?
本质上分为两类:一种是maven setting,作用于所有的project,通常是将不影响project build的配置放在此类文件中。如:
profile的激活方式?
- mvn 命令行 -P,如:
mvn groupId:artifactId:goal -P profile-1,profile-2 - settings.xml中的
标签,如: ... profile-1
* 根据JDK环境(自动检测),如:
...
* 根据OS,如:
...
* 根据中的,并同时来命令行中指定参数:mvn groupId:artifactId:goal -Ddebug=false。如:
...
* 根据中的自动激活,如:
...
* 根据中的,和,如:
...
**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
本文标题:maven-profile-创新互联
浏览路径:http://scgulin.cn/article/gcecg.html