如何在我的java类中获取该exe文件的路径。该exe文件存储在war文件中(war文件是否部署在服务器中)?
答案 0 :(得分:2)
您无法直接从.exe
启动war
文件,因为Windows无法访问war包的内容。你必须先提取它(例如到temp
dir),然后从那里调用新的进程。
至于路径,您可以通过类加载器获取URL
资源。您需要ClassLoader#getResource
和ClassLoader#getResourceAsStream
。
答案 1 :(得分: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();