java中的代码用于运行在.NET平台中创建的.exe文件,并且代码显示已成功运行。使用isAlive()函数调用时,该过程甚至显示为活动但不运行。 .exe没有运行,即在任务管理器中没有显示。我也用waitFor()方法检查了它。
此外,我需要在Java Servlet上运行此操作,请建议我是否可以执行此操作,提前致谢
代码如下: -
public static void main(String[] args) {
try {
ProcessBuilder pb = new ProcessBuilder("D:\\J2EEeclipse-workspace\\TARecruiter\\WebContent\\WEB-INF\\Debug\\Sharpenter.RP.UI.Console.exe");
Process p=pb.start();
System.err.println( p.waitFor());
} catch (IOException | InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
答案 0 :(得分:0)
以下提供的代码段将起作用并启动该过程。哪个可以在任务管理器中查看。要使其正常工作,请在.exe文件所在的文件夹中使用提供的代码段创建.java代码并运行代码。现在,您可以将此代码作为一个线程,并在程序中的任何位置调用它作为一个线程,使其工作。这当然不是最终解决方案,但直到我得出实际原因继续工作。
try {
Process
p=Runtime.getRuntime().exec("Sharpenter.ResumeParser.UI.Console.exe");
try{ p.waitFor();
}catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Done.");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();