プロが教えるわが家の防犯対策術!

Javaで環境変数を動的に変更するJUnitをEclipseで作成しています。

環境変数を取得するのは、
String str = System.getenv("ROOT_DIR");
でできますが、

環境変数に値を設定することができません。

「システム詳細設定」-「環境変数」で設定すればできるのですが、
Javaのプログラム上でいろいろな値に変更しながら、挙動の確認をしたいと思っています。
環境変数を使うのは、システムに依存することになるので、
良くないのはわかっていますが、
Javaで動的に変えたいのです、
Eclipseのデバッグの構成で「環境」から「変数」に「RROT_DIR」を設定すればよいのですが、
動的に変えることができないので、
何かいい方法はありますでしょうか。

A 回答 (2件)

こんにちは。


NO1さんのように試してみるしかないのでしょうが、
おそらく出来なのではないかと思います。
環境設定はシェルごとに保持されているはずですので、
プロセスの起き方次第では変更が反映されないと思います。
(試しに二つのコマンドプロンプトでやってみてそれは確認できます)
    • good
    • 0
この回答へのお礼

SETX で環境変数を永続的に変更できたと思いますので、
そのあたりから調べて、バッチ経由で環境変数を変更したいと思っています。

お礼日時:2015/11/16 22:02

アプリケーションを起動するスクリプトを書き、


スクリプトで環境変数をセットするようにして
それをJavaから起動するのが現実的だと
思います。
    • good
    • 1
この回答へのお礼

その通りですね。環境変数を変更するバッチを作って、
javaから起動する方法で試してみます。

回答、ありがとうございました。

お礼日時:2015/11/16 22:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!