exe
在我的战争中,我有文件WEB-INF\classes\
如何在 Java 代码中执行此文件(如何指定此文件的路径)?
command = " ? ";
Process x = p.exec(command);
exe
在我的战争中,我有文件WEB-INF\classes\
如何在 Java 代码中执行此文件(如何指定此文件的路径)?
command = " ? ";
Process x = p.exec(command);
以下方法可以工作:
1)准备可执行文件的完整路径:
ServletContext context = getContext();
String fullPath = context.getRealPath("/WEB-INF/classes/executable");
2)像往常一样执行:
String[] cmd = { fullPath /*[...] arguments */};
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
这是一个简化的例子;您可能还想阅读有关ProcessBuilder的更多信息。
这是个坏主意。简单地想象一下,您的 .war 包应该在几乎任何服务器上运行(“.war 是平台独立的”),并且您的 .exe 文件仅针对一种体系结构进行编译。
最好将您的 .exe 作为外部程序执行,仅用于独立的平台独立部分和平台相关部分。然后在java中您可以测试操作系统并在此基础上运行所需的外部程序。
阅读此链接并提出类似问题。
在 Web 应用程序中查找文件真实位置的最佳方法是使用 ServletContext.getRealPath(请参阅http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContext.html#getRealPath(java .lang.String) )
您可以从会话中访问该对象...