【问题标题】:How to set custom environment variables in tomcat?如何在tomcat中设置自定义环境变量?
【发布时间】:2020-05-12 10:11:24
【问题描述】:

我的程序中的键值对变量很少,现在是硬编码的。

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】:

    这绝对是一个粗略的问题,因为在我的情况下,堆栈溢出中所有已批准的答案都失败了。我尝试了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() 访问)。

    一个例子如下图所示:

    我的变量是:

    KEY_STORE_PASSWORD=
    KEY_STORE_ALGORITHM=
    KEY_STORE=
    KEY_STORE_PROTOCOL=
    

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

    例如:-DKEY_STORE_PASSWORD=password

    如果您有任何疑问,请尽管询问。

    【讨论】:

      猜你喜欢
      • 2022-12-02
      • 2018-03-01
      • 2011-09-21
      • 2013-08-02
      • 2011-06-15
      • 1970-01-01
      • 2015-02-11
      • 1970-01-01
      • 2017-05-04
      相关资源
      最近更新 更多