良い日皆さん、私はjava
を使ってANTスクリプトから呼び出されるプログラム(Aと呼ぶことができます)を持っています。このプログラムはRuntime.getRunTime.exec("batFile.bat")
を使用します。 .bat
ファイルが別のjavaファイルを呼び出します( 'B'と呼ぶことができます)。今、ここに問題があります。Javaプロセス間通信
BがAのインスタンス変数にアクセスできる方法はありますか?
良い日皆さん、私はjava
を使ってANTスクリプトから呼び出されるプログラム(Aと呼ぶことができます)を持っています。このプログラムはRuntime.getRunTime.exec("batFile.bat")
を使用します。 .bat
ファイルが別のjavaファイルを呼び出します( 'B'と呼ぶことができます)。今、ここに問題があります。Javaプロセス間通信
BがAのインスタンス変数にアクセスできる方法はありますか?
プロセスAの変数の値がプロセスBを起動する前にわかっている場合は、その値をいくつかの方法で共有できます。
例えば、コマンドライン引数として渡す:Bのプロセスの環境での変数、例えばなど
String[] cmd = {"batFile.bat", variableValue};
Runtime.getRunTime.exec(cmd);
セットを:
String cmd = "batFile.bat";
String[] envp = {"VARIABLE="+variableValue};
Runtime.getRunTime.exec(cmd, envp);
プロセスA内のファイルに値を書きますプロセスBのファイルを読んでください。
いいえ.batファイルが新しいjvmプロセスを作成しているためです。 DBを使ってデータを共有したいかもしれません。
+1のKISSアプローチ - ちょうど値を渡したい場合は値8を渡します} – davidfrancis