简体   繁体   English

从Java servlet运行可执行jar文件

[英]Run Executable jar file from java servlet

I want to run executable jar located in /WEB-INF/lib from my java servlet and get the output. 我想从我的Java servlet运行/WEB-INF/lib可执行jar,并获取输出。 tried : 尝试过的

Process procesSH;
BuffererdReader br = null;
ProcessBuilder pb = new ProcessBuilder("/WEB-INF/lib/jarName.jar", "-jar", "parma01 parma02");
procesSH = pb.start(); // start pb
br = BuffererdReader(new InputStreamReader(procesSH.getInputStream()));
system.out.println(br.readLine()); // read just one line for now 

The error I get is: 我得到的错误是:

CreateProcess error = 2, system cannot find file specified.

The file is located under /WEB-INF/lib , if there is more info needed I will post it. 该文件位于/WEB-INF/lib ,如果需要更多信息,我将其发布。

Thanks. 谢谢。

The path /WEB-INF/lib/jarName.jar obviously did not work, here is a way to obtain an absolute path to the jar via the ServletContext : 路径/WEB-INF/lib/jarName.jar显然不起作用,这是一种通过ServletContext获取jar绝对路径的方法:

ServletContext context = ...
String jarpath = context.getRealPath("/WEB-INF/lib/jarName.jar");
ProcessBuilder pb = new ProcessBuilder(jarpath, "-jar", "parma01 parma02");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM