Я пытаюсь запустить несколько команд .bat, используя Runtime exec (Java). Проблема в том, что после установки переменных среды я не могу использовать эти переменные.
Runtime rt = Runtime.getRuntime();
Process pr;
pr = rt.exec("cmd.exe /c echo %JAVA_HOME%");
InputStream is;
InputStreamReader isr;
BufferedReader reader ;
String line;
is = pr.getInputStream();
isr = new InputStreamReader(is);
reader = new BufferedReader(isr);
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
pr.getOutputStream().close();`
JAVA_HOME не возвращает фактический путь env.
exec
, и создайтеProcess
, используяProcessBuilder
. Также разбейтеString arg
наString[] args
для учета аргументов, которые сами содержат пробелы. - person Andrew Thompson   schedule 13.08.2013