私のプロジェクトでは何らかの理由で、このコマンド「gcc file.c -o file.exe」をJava EEサーバーで実行する必要があり、このJavaコードを使用しました
try {
Runtime runtime = Runtime.getRuntime();
String[] cmd={"cmd.exe","/C gcc " + a +".c" + " -o "+b};
Process p = runtime.exec(cmd,null,null );
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String line = null;
try {
while((line = reader.readLine()) != null) {
System.out.println(line);
}
} finally {
reader.close();
}
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
catch (Exception e) {System.out.println("erreur d'execution"); }
}
コマンドは cmd で完全に機能し、このコードは Java アプリケーションで完全に機能し、出力 (.exe) とエラーを取得します。
後で(JBossサーバーを使用して)サーバーにデプロイしようとしても、何も起こりませんでした。後でサーバーからcmdを実行しようとしましたが、何も起こりませんでした。つまり、Java EE サーバーの問題のようなものです。
どうすれば修正できますか?このコードを実行できる Tomcat などの他のサーバーはありますか?