如何在tomcat中设置自定义环境变量?

问题描述 投票:0回答:1

我的程序中没有几个键-值对变量,现在已经对其进行了硬编码。

String pswd = StringUtils.defaultString(System.getProperty("KEY_STORE_PASSWORD"), "password");
String algorithm = StringUtils.defaultString(System.getProperty("KEY_STORE_ALGORITHM"), "SunX509");

我需要动态加载这些值。为此,我需要将这些值设置为Tomcat中的环境变量(自定义)。我正在使用Tomcat插件运行该应用程序。我尝试使用setenv.bat文件概念。我在其中添加了以下行。

set KEY_STORE_PASSWORD=password

但是我没有得到它的日志。我用了另一种方法

set JAVA_OPTS=-DKEY_STORE_PASSWORD=password

我添加了这一行,尝试过,但是什么也没做...除了在控制台中显示null以外。我不知道什么是JAVA_OPTS,也没有为Tomcat添加任何系统环境变量。我应该先添加它们吗?我们需要添加哪些变量作为Tomcat的环境变量? JAVA_OPTS是其中之一吗?

我可以创建自定义环境变量而不创建它们吗?

 String pswd1=System.getProperty("KEY_STORE_PASSWORD");

    logger.info("pswd1 from tomcat"+ pswd1);

这些是我正在使用的打印语句。

java tomcat environment-variables java-opts
1个回答
0
投票

这绝对是一个粗略的答案,因为在我的案例中,所有在堆栈溢出中得到批准的答案都失败了。我尝试使用Setenv.bat & Catalina.bat files,甚至尝试在tomcat的CATALINA_HOME/conf文件夹中创建一个配置文件,称为variables.conf,声明所有变量(包括键和值),我需要以environment variable.]的身份进行访问

Pass user defined environment variable to tomcat

以上链接中的所有这些方法均失败,最后我使用Tomcat的JVM Settings尝试了此方法

  1. 打开窗口->>首选项->> Tomcat->> JVM设置

    Append to JVM Parameters中,添加需要用作环境变量的变量(可以在整个项目中使用System.getProperty()进行访问。)>]

    示例如下图所示:

  2. enter image description here

这里我的变量是:

KEY_STORE_PASSWORD=
KEY_STORE_ALGORITHM=
KEY_STORE=
KEY_STORE_PROTOCOL=

可以作为-D followed by variable [equals to] variable value.写入JVM设置

例如:-DKEY_STORE_PASSWORD=password

如果有任何疑问,请询问。

© www.soinside.com 2019 - 2024. All rights reserved.