私はこれについてはっきりしていません。 Javaアプリを実行するか、アプレットビューアでアプレットを実行すると、(IDE環境)で)System.getProperty("Java.class.path")
で同じ結果が得られます私の環境変数で定義されたCLASSPATHであるSystem.getenv("CLASSPATH")
として。
しかし、アプレットをWebサーバーに展開し、同じコンピューターからクライアントにアクセスすると、2つの結果が異なります。 (System.getProperty("Java.class.path")
はJREホームのみを指し、System.getenv("CLASSPATH")
はnullを返します)。
そして、ここで私が不思議に思う他のいくつかのものがあります:
アプレットの部分であるenv var Java_HOMEの場合、アプレットをブラウザおよびアプレットビューアにデプロイすると同じ結果が得られます。
システムレベルで環境変数を定義し、getenv("envName")
を使用すると、結果はnull
になります。とにかくそれを定義して私のJavaプログラムで取得できますか?
環境変数はオペレーティングシステムに固有です。プロパティはJVMのみです。
System.getProperty("Propertname") **Platform Independent**
上記のメソッドは、JVMの引数とプロパティを返します。
System.getenv("EnvName") **Platform Dependent**
上記のメソッドは、オペレーティングシステムのenvironment
変数を返します。
Linuxでは、次のコマンドを使用してシェルから環境変数を設定できます。
export SYSTEM_TYPE=PROD
Javaで変数を読み取ることができます
System.getenv("SYSTEM_TYPE")
上記のコードはPROD
を返します
http://javarevisited.blogspot.in/2012/08/how-to-get-environment-variables-in.html