45

我不清楚这一点。当我在小程序查看器中运行 Java 应用程序或运行小程序时(在 IDE 环境中), 给我的结果与在我的 env 变量中定义的 CLASSPATHSystem.getProperty("java.class.path")相同。System.getenv("CLASSPATH")

但是当我将我的小程序部署到网络服务器并从作为客户端的同一台计算机访问它时,我会得到两者不同的结果。(System.getProperty("java.class.path")仅指向 JRE 主页并System.getenv("CLASSPATH")返回 null)。

这里还有一些让我想知道的其他事情:

对于小程序部分,env var JAVA_HOME,我在浏览器和小程序查看器中部署小程序时得到相同的结果。

如果我在系统级别定义自己的环境变量,并使用getenv("envName")结果是null. 无论如何我可以定义一个并在我的Java程序中获取它吗?

4

2 回答 2

52

环境变量特定于操作系统。属性仅适用于 JVM。

于 2010-05-19T07:47:51.630 回答
31
System.getProperty("Propertname") **Platform Independent** 

上述方法将返回 JVM 参数和属性。

System.getenv("EnvName")       **Platform Dependent**

上述方法返回您的操作系统environment变量。

在 Linux 中,您可以使用以下命令从 shell 设置环境变量。

export SYSTEM_TYPE=PROD

在 Java 中,您可以通过以下方式读取变量

System.getenv("SYSTEM_TYPE")

上面的代码将返回PROD

http://javarevisited.blogspot.in/2012/08/how-to-get-environment-variables-in.html

于 2013-05-24T13:04:33.833 回答