Spring 多环境配置,tomcat 设置环境变量无效

web.xml

 <context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>development</param-value>
</context-param>

在web.xml中切换环境可以生效,但tomcat的设置启动变量无效,如下:
catalina.sh 的首行添加以下,windows 在JAVA_OPTS前要添加set

JAVA_OPTS ="-Dspring.profiles.active=production"

重启java,重启tomcat 后,都不会生效

PS问:如何查看JAVA_OPTS的值设置生效了呢?

答案:

是我自己代码上的问题,我的web.xml中写了两个配置,如下

 <context-param>
    <param-name>spring.profiles.default</param-name>
    <param-value>development</param-value>
</context-param>
<context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>development</param-value>
</context-param>

active 这项直接把jvm 的中替换掉了,我看了别人写了这个,我也跟着写,唉!

这样加

SET JAVA_OPTS=-Dspring.profiles.active=production

batch设置参数

查看启动参数可以使用jdk自带的jvisualvm进行查看

图片说明

你用的什么ide工具

应该在linux的服务器上打开对应的端口

查看JAVA_OPTS的值 可以通过jdk自带的jconsole、jmc、jvisualvm进行查看【都有图形化界面】

Dspring.profiles.active=production
改为
--spring.profiles.active=production

是我自己代码上的问题,我的web.xml中写了两个配置,如下


spring.profiles.default
development


spring.profiles.active
development

active 这项直接把jvm 的中替换掉了,我看了别人写了这个,我也跟着写,唉!