2012-03-20 8 views
0

特定の環境変数を設定する必要があるJavaアプリケーションがあっても、それらをbash.rcまたはbash_profileの中に配置することはできません。 etc/profile.dは、Javaプロセス内でそれらを設定することは可能ですか?または、これらの設定はJavaプロセスが実行される前に設定する必要がありますか?また、私はそれらをユーザーに透過的にしたいので、毎回手動で設定することはオプションではありません。LinuxのJavaからのプロセス内からシェル環境変数を設定する

+0

明確にしてください:環境変数をプログラム内からハードコードされた値に設定したい場合は、その環境変数を読み込みますか? –

+1

[Javaから環境変数を設定するにはどうすればいいですか?](http://stackoverflow.com/questions/318239/how-do-i-set-environment-variables-from-java) –

答えて

4

シェルスクリプトからjavaプロセスを開始します。スクリプトは、最初に環境変数を定義してエクスポートします。

-1

お試しください。

System.setProperty("KEY", "VALUE"); 
+0

これはJavaのシステムプロパティです。これは環境変数ではありません。 –

+0

私の悪い、私は十分に慎重ではなかった。 –

0

を設定するために、私はこれが不可能であると思います。 System.getenv()は変更不可能なマップです。つまり、その中の要素を変更することはできません。

+0

彼はProcessBuilderを使ってenv変数を設定することができます。私は自分の投稿に入れたリンクと "重複している可能性のある"コメントを参照してください –

関連する問題