通过用户环境变量 tomcat

我用 eclipse 编码Web应用程序。 作为其中的一部分,我将环境变量传递为 :

项目 - >跑步 --> 开始配置。 以及所选的环境选项卡。

添加一个名为的新环境变量
APP_MASTER_PASSWORD

及其含义。

我可以在代码中访问此值 java 作为
System.getenv/"APP_MASTER_PASSWORD"/

.

但现在我想传达这个环境变量 tomcat 并在应用程序中访问它而不是通过传输 eclipse.

那么我如何传达这种变量 tomcat?

我遗憾了。 但我没有找到任何决定。

谢。
已邀请:

石油百科

赞同来自:

您可以使用 setenv.bat 或者 .sh 转移环境变量 Tomcat.

创建文件。 CATALINA_BASE/bin/setenv.bat 或者 .sh 并将以下行放入其中,然后运行 Tomcat.

在 Windows:


set APP_MASTER_PASSWORD=foo


在 Unix 类似的系统:


export APP_MASTER_PASSWORD=foo

莫问

赞同来自:

在这种情况下,而不是环境变量,使用System属性。 编辑 tomcat 脚本 JAVA_OPTS 并添加属性,如:


-DAPP_MASTER_PASSWORD=foo


在您的代码中,写:


System.getProperty/"APP_MASTER_PASSWORD"/;


你也可以这样做 Eclipse, 反而 JAVA_OPTS, 复制字符串B. VM 开始配置内的参数。

卫东

赞同来自:

记录记录指示
<environment>

markup, 是 JNDI, 可用
http://docs.oracle.com/javase/ ... %2529
在下面
java:/comp/env

. 您可以指定环境的属性
http://docs.oracle.com/javase/ ... .html
, 使用设计人员的环境参数
http://docs.oracle.com/javase/ ... %2529

http://docs.oracle.com/javase/ ... PPRES
.


System.getEnv//

- 这些是过程本身的系统环境变量。 tomcat.

使用命令设置环境变量 bash :
export TOMCAT_OPTS=-Dmy.bar=foo

和推出 Tomcat :
./startup.sh

获取系统属性的值
bar

使用
System.getProperty//

.
System.getEnv//

您可以用来解压缩环境变量,即
TOMCAT_OPTS

.
</environment>

风见雨下

赞同来自:

环境变量

您可以通过创建文件来设置
setenv.bat

/windows/ 或者
setenv.sh

/unix/ 在文件夹中
bin

安装目录 tomcat. 但是,环境变量无法访问代码中的文件。

系统属性

助理参数
-D

过程 java. 初始论据 java 可以在环境变量中定义
JAVA_OPTS

.

我的建议是

组合

这两个机制。 在你的
apache-tomcat-0.0.0\bin\setenv.bat

写:


set JAVA_OPTS=-DAPP_MASTER_PASSWORD=password1


在你的 Java 写代码:


System.getProperty/"APP_MASTER_PASSWORD"/

三叔

赞同来自:

对于系统 Mac Unix & 转到文件夹 /bin/setenv.sh inside tomcat

添加下面的字符串


export JAVA_OPTS="$JAVA_OPTS -DAPP_MASTER_PASSWORD=mypass"


现在
System.getProperty/"APP_MASTER_PASSWORD"/

返回
"mypass"

小明明

赞同来自:

什么时候 Windows, 如果找不到 setenv.bat, 在第二行 catalina.bat /后 @echo 离开/ 添加:

放 APP_MASTER_PASSWORD=foo

也许这不是最好的方法,但它有效

三叔

赞同来自:

如果你开始你的 Tomcat 从 Eclipse /看法 "Servers"/, 然后你必须写" 配置 "Run/Run "/菜单/ 题为 "Apache Tomcat / Tomcat...". 在“启动配置”列表中选择此条目,您将获得一个带有多个选项卡的窗口,其中一个标签标记为 "Environment". 在那里,您可以为您配置环境变量 Tomcat. 之后,一定要重启 Tomcat.

奔跑吧少年

赞同来自:

我的食谱来解决它:

不起作用 >> Set as system environment variable: 我在我的环境中设置了环境变量 mac
bash_profile

, 但 Tomcat 我还没有看到这个变量。

不工作 >> setenv.sh: 推荐 Apache 它是在文件中具有自定义环境变量
setenv.sh

, 我这样做了。


有效!

! >> 经过一项小型研究启动脚本 Tomcat 我发现由此指定的环境变量
setenv.sh

, 在发布期间笑。 所以我不得不编辑我的
catalina.sh

反对推荐 Apache, 它做了工作。

添加变量
-DUSER_DEFINED

在团队中 run 在领域
catalina.sh

.


eval exec "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
-DUSER_DEFINED="$USER_DEFINED" \
org.apache.catalina.startup.Bootstrap "$@" start


P.S: 这个问题可能是我的电脑的本地。 其他人会有其他问题。 在此消息中添加您的答案,以防某人仍然面临问题 Tomcat, 没有看到环境 vars 在测试所有推荐的方法后。

要回复问题请先登录注册