激活 profile

  spring 为我们提供了大量的激活 profile 的方法,可以通过代码来激活,也可以通过系统环境变量、JVM参数、servlet上下文参数来定义 spring.profiles.active 参数激活 profile,这里我们通过定义 JVM 参数实现。

1、ENV方式:

系统环境配置
代码中可使用

ConfigurableEnvironment.setActiveProfiles("test")

系统配置可通过添加环境变量的方式,共一个个war包启动不同配置。

war 包

生产可以在~/.bashrc或类似文件上添加以下配

 export SPRING_PROFILES_ACTIVE=prod

jar包

nohup java -jar xxx.jar --spring.profiles.active=test > /dev/null 2>&1 &

2、JVM参数方式:

  tomcat 中windows 环境修改 catalina.bat 添加JAVA_OPS。通过设置active选择不同配置文件

set "JAVA_OPTS=%JAVA_OPTS% -Dspring.profiles.active=test"

linux 环境修改 catalina.sh
搜索JAVA_OPTS,在其后添加一行

JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=test"


  eclipse或IDEA中启动tomcat。项目右键 run as –> run configuration–>Arguments–> VM arguments中添加。local配置文件不必上传Git追踪管理

-Dspring.profiles.active="local"

3、web.xml方式:

<init-param>
 <param-name>spring.profiles.active</param-name>
 <param-value>production</param-value>
</init-param>

4、标注方式(junit单元测试非常实用):

@ActiveProfiles({"unittest","productprofile"})