C で記述された外部プログラムを Java アプリケーションから実行する必要があります。私はRuntime.getRuntime().exec()
部分的な成功で使用しようとしています。.exe ファイルへのパスとその引数を含む String を使用してプログラムを実行します。
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line=null;
while((line=input.readLine()) != null) {
log.info(line);
}
int exitVal = pr.waitFor();
これは問題なく機能します。プログラムが実行され、その動作に関する情報がコンソールに送信されます。問題は、外部プログラムが実行中に他のサブプログラムを実行しようとすることです。したがって、基本的に私がする必要があるのはprogram.exe
、Java アプリケーションを実行してprogram.exe
実行することsubprogram.exe
です。残念ながら、subprogram.exe
現在の状況では決して開始されないため、そうではありません。それを機能させるにはどうすればよいですか?助けてくれてありがとう。
これほど複雑にするのは私の決定ではありません。実行する .exe ファイルが 1 つだけあれば十分ですが、できません。