我不清楚这一点。当我在applet查看器中运行Java App或运行Applet时(在IDE环境中),System.getProperty("java.class.path")
给我与System.getenv("CLASSPATH")
相同,这是我的env变量中定义的CLASSPATH。
但是当我将我的applet部署到webserver并从与客户端相同的计算机访问它时,我得到了两个不同的结果。 (System.getProperty("java.class.path")
仅指向JRE home,System.getenv("CLASSPATH")
返回null。
以下是其他一些令我惊讶的事情:
对于applet部分,env var JAVA_HOME,在浏览器和Applet Viewer中部署applet时得到的结果相同。
如果我在系统级别定义一个env变量,并使用getenv("envName")
,则结果为null
。无论如何我可以定义一个并在我的Java程序中获取它吗?
答案 0 :(得分:39)
环境变量特定于操作系统。属性仅限JVM。
答案 1 :(得分:24)
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