激活 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"})