プロが教える店舗&オフィスのセキュリティ対策術

JavaServletから、以下でJavaのバッチを呼んでいます。

Process process = Runtime.getRuntime().exec("java -classpath /export/home/test Batch001");

Batch001で使用する環境変数をJavaでセットし別途シェルファイルを作らずにすむ方法はありますでしょうか?

シェルであれば、以下のようにできますがファイルを増やしたくないのです。
#/bin/csh/bin
setenv LD_LIBRARY_PATH /xxx/xxx/xxx
java -classpath /export/home/test Batch001

A 回答 (2件)

以下でどうでしょう?



Process process = Runtime.getRuntime().exec("java -classpath /export/home/test -DLD_LIBRARY_PATH=/xxx/xxx/xxx Batch001");

参考URL:http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs …
    • good
    • 0

Process process = Runtime.getRuntime().exec("java -classpath /export/home/test Batch001", new String[] {"LD_LIBRARY_PATH=/xxx/xxx/xxx"});



でいいと思います。(未テスト)

参考URL:http://java.sun.com/j2se/1.4/ja/docs/ja/api/java …[], java.lang.String[])
    • good
    • 0

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