0

如何在我的java类中获取该exe文件的路径。该exe文件存储在war文件中(该war文件部署在服务器中)?

4

2 回答 2

2

您无法.exe直接从 Windows 启动文件,war因为 Windows 无权访问 war 包的内容。您必须先提取它(例如到temp目录),然后从那里调用新的过程。

至于路径,您总是可以 URL通过类加载器获取资源。这就是你所需要的ClassLoader#getResourceClassLoader#getResourceAsStream

于 2013-11-08T12:24:48.330 回答
1

以下方法可以工作:

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();
于 2013-11-08T13:01:59.517 回答