Jer*_*nce 15 java tomcat environment-variables maven
我使用tomcat,我想在我的java代码中获取一个环境变量.
要设置环境变量,我使用此bash命令:
export TOMCAT_OPTS=-Dmy.var=foo
Run Code Online (Sandbox Code Playgroud)
之后我开始tomcat
./startup.sh (in bin folder of tomcat)
Run Code Online (Sandbox Code Playgroud)
在我的java代码中,我尝试获取此变量:
System.getEnv("my.var")
Run Code Online (Sandbox Code Playgroud)
但它返回NULL.
我怎样才能做到这一点 ?
我确切地说,如果我使用maven启动tomcat并使用eclipse环境选项卡,则找到该变量!但我需要在生产模式下像上面一样启动tomcat.
编辑:当直接使用导出MY_VAR时,它在本地运行但不在我的服务器上运行...
JB *_*zet 18
System.getEnv
返回环境变量,如PATH,或者在您的示例中,返回TOMCAT_OPTS).
使用Java调用Java时-Dfoo=bar
,不设置环境变量:传递系统属性.使用System.getProperty
获得foo的值.
Jer*_*nce 15
我终于在CATALINA_HOME中找到了一个名为tomcat6.conf的配置文件.我将导出my.var = foo添加到文件末尾,System.getenv("my.var")现在返回值...
恶梦...
ice*_*ce6 13
如果您使用的是tomcat7和unbuntu操作系统,则可以编辑/ etc/default/tomcat7文件,只需添加一行yourvar = yourvalue就可以了.
如下:
# Run Tomcat as this user ID. Not setting this or leaving it blank will use the
# default of tomcat7.
TOMCAT7_USER=tomcat7
# Run Tomcat as this group ID. Not setting this or leaving it blank will use
# the default of tomcat7.
TOMCAT7_GROUP=tomcat7
IM4JAVA_TOOLPATH=/usr/local/bin/
# The home directory of the Java development kit (JDK). You need at least
# JDK version 1.5. If JAVA_HOME is not set, some common directories for
# OpenJDK, the Sun JDK, and various J2SE 1.5 versions are tried.
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
# You may pass JVM startup parameters to Java here. If unset, the default
# options will be: -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC
#
# Use "-XX:+UseConcMarkSweepGC" to enable the CMS garbage collector (improved
# response time). If you use that option and you run Tomcat on a machine with
# exactly one CPU chip that contains one or two cores, you should also add
# the "-XX:+CMSIncrementalMode" option.
JAVA_OPTS="-Djava.awt.headless=true -Xmx2048m -XX:+UseConcMarkSweepGC"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
51334 次 |
最近记录: |