由于我的项目的某些原因,我需要在 Java EE 服务器上运行这个命令“gcc file.c -o file.exe”,我使用了这个 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)可以执行此代码?