我已将下面的代码放在catalina.sh中以获取系统属性,这是Apache Tomcat服务器。
JAVA_OPTS="$JAVA_OPTS -Dserver=https://8.7.198.4"
JAVA_OPTS="$JAVA_OPTS -Dencoding=c3BhcmtDbGllbnQ6MGQ5YWJmMTdlYTiYWUyYWYyNzdhMzliOWZjNzk="
JAVA_OPTS="$JAVA_OPTS -Dservice.url=/api/"
JAVA_OPTS="$JAVA_OPTS -Dlogin.service=oauth7"
JAVA_OPTS="$JAVA_OPTS -Ddomain.name=nms.mixwoorks.net"
Tomcat Version JVM Version JVM Vendor OS Name OS Version
Apache Tomcat/7.0.29 1.6.0_33-b04 Sun Microsystems Inc. Linux 2.6.32-279.el6.x86_64
在Java代码中,我使用System.getProperty("server");
来获取已定义的属性。但我的价值是空的。
答案 0 :(得分:-1)
如果您想在操作系统上使用环境变量,请使用System.getenv()
我不确定我是否完全理解您在此处所做的事情,但如果您尝试访问在shell脚本中定义的变量,那么您应该在脚本中正确配置环境变量。
如果您使用tcsh / csh:
setenv PROP VALUE
如果你使用bash / sh:
PROP=VALUE
export PROP
然后PROP将从您的Java代码中获取。 使用:
System.getenv("PROP");
希望它有所帮助..