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 的中替换掉了,我看了别人写了这个,我也跟着写,唉!

6个回答

这样加

SET JAVA_OPTS=-Dspring.profiles.active=production

batch设置参数

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

图片说明

qq_20399063
时间1024 我配置的是没错的,是web.xml中的代码出了问题,我已经在问题中给出答案了
一年多之前 回复

你用的什么ide工具

hu837389340
hu837389340 还有<init-param> <param-name>spring.profiles.active</param-name> <param-value>development</param-value> </init-param>这个放在web.xml的最后试试
一年多之前 回复
hu837389340
hu837389340 你在catalina.sh里面添加JAVA_OPTS前面加了set吗,加了的话去掉
一年多之前 回复
qq_20399063
时间1024 还有我有部署到linux上或war包单独部署tomcat,也都无法生效
一年多之前 回复
qq_20399063
时间1024 myeclipse
一年多之前 回复

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

qq_20399063
时间1024 tomcat 端口是8080,服务器测试了,本地也测试了,都没有生效
一年多之前 回复

查看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 的中替换掉了,我看了别人写了这个,我也跟着写,唉!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!