0

我在 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");用来获取定义的属性。但我得到 null 作为价值。

4

1 回答 1

-1

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

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

如果你使用 tcsh / csh:

setenv PROP VALUE

如果你使用 bash / sh:

PROP=VALUE
export PROP

然后 PROP 将从您的 java 代码中获得。利用:

System.getenv("PROP");


希望能帮助到你..

于 2012-08-13T11:26:19.990 回答