2016-04-13 4 views
0

Я хочу запустить исполняемый jar, расположенный в /WEB-INF/lib из моего java servlet и получить результат. пробовал:Запустить исполняемый файл jar из Java-сервлета

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 

Ошибки я получаю:

CreateProcess error = 2, system cannot find file specified. 

Файл находится под /WEB-INF/lib, если есть больше информации необходимо, я отправлю его.

Спасибо.

+0

Я экспорт в «.ear» файл и поместить его на Webshpere. –

ответ

1

/WEB-INF/lib/jarName.jar путь, очевидно, не работает, вот способ получить абсолютный путь к банке через ServletContext:

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

Вы уверены, что заказ (jarPth, "- jar", "parma01 parma02")? –

+0

@ ItsikMauyhas Я просто скопировал это из вашего вопроса. – wero