Maven Profile 根据运行环境选择配置文件

[size=large]前言[/size]
在开发和部署过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,配置会不一样,比如数据源配置、消息、缓存、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力。maven提供了一种方便的解决这种问题的方案——profile。

[size=large]Profile简介[/size]
profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。
Profile配置作用范围有三种
1.[b]特定项目的profile[/b]配置我们可以定义在该项目的pom.xml文件中
2.[b]特定用户的profile配置[/b],我们可以在用户目录下的.m2/settings.xml文件中定义profile
3.[b]全局的profile配置[/b]定义在Maven安装目录下的"conf/settings.xml"

[size=large]使用Profile[/size]
下面针对第一种作用范围说明,在项目的pom.xml中添加如下的profile配置:




dev

dev



true




prod

prod




test

test



以上定义了三个不同环境下的profile配置,在src/main/resources/目录下定义三个配置文件
分别对应三个不同环境
1.开发环境 application-dev.properties
2.测试环境 application-test.properties
3.生产环境 application-prod.properties

配置Maven资源插件

mvn-demo-profile

src/main/resources/application-${env}.properties



src/main/resources
true




org.apache.maven.plugins
maven-jar-plugin




参数true,一定要设置成true.这样才会用对应env参数表示的配置文件。

[b]激活profile[/b]
1.使用true 默认的激活
2.使用-P参数显示激活一个profile,如: mvn package –Pdev
3.使用-Denv=dev 激活 如:mvn -Denv=dev integration-test

[size=large]Profile的详细使用介绍参见[/size]
http://maven.apache.org/guides/introduction/introduction-to-profiles.html

你可能感兴趣的:(maven,maven,profile,配置,环境)