Я попытался выполнить метод Runtime.exec(…)
в моем приложении Spring, а затем всегда получаю пустой результат из метода getInputStream()
. Но он работает хорошо, если я выполняю роль основного приложения Java. Являются ли какие-либо другие реализации, необходимые для выполнения в среде Spring? Заранее спасибо.Метод Runtime.exec() всегда возвращает пустое значение в среде Spring
Spring Версия: 4.2.1.RELEASE
Обще-ю Версия: 2.4
try { Process p = Runtime.getRuntime().exec(new String[] {"sh", "-c", "spamc < abcd.txt"}); String spamResponsexx = IOUtils.toString(p.getInputStream()); log.debug("Spam Response : " + spamResponsexx); } catch (Exception e) { e.printStackTrace(); log.error("", e); }
Вы также должны смотреть на поток ошибок ('p.getErrorStream()'), может быть сообщение в этом потоке. –
Маловероятно, что весна имеет какое-либо отношение к вашей воспринимаемой проблеме. – Magnus
Возможно, текущий каталог отличается, поэтому 'abcd.txt' не найден (или другой файл с именем' abcd.txt') ... – Holger