系统属性和环境变量之间有什么区别

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

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

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

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

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


答案 1

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


答案 2
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


推荐