• 締切済み

Servletから呼ぶ外部コマンドの環境変数をJavaでセットしたいです

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

みんなの回答

  • pomo
  • ベストアンサー率61% (11/18)
回答No.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/win32/java.html
回答No.1

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/lang/Runtime.html#exec(java.lang.String[], java.lang.String[])

関連するQ&A