无法从java代码获取系统属性

时间:2012-08-12 13:18:02

标签: java tomcat

我已将下面的代码放在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");来获取已定义的属性。但我的价值是空的。

1 个答案:

答案 0 :(得分:-1)

如果您想在操作系统上使用环境变量,请使用System.getenv()

我不确定我是否完全理解您在此处所做的事情,但如果您尝试访问在shell脚本中定义的变量,那么您应该在脚本中正确配置环境变量。

如果您使用tcsh / csh:

setenv PROP VALUE

如果你使用bash / sh:

PROP=VALUE
export PROP

然后PROP将从您的Java代码中获取。 使用:

System.getenv("PROP");


希望它有所帮助..