Запустите исполняемый файл Java из Groovy скрипта на Linux - PullRequest
0 голосов
/ 26 февраля 2019

Я знаю, что это немного странно, но я пытаюсь запустить исполняемый файл java из скрипта groovy:

def mycommand = "java -version"
def env = System.getenv().collect { k, v -> "$k=$v" }
def mycommandOut = mycommand.execute(env,null).text
println mycommandOut

это хорошо работает в Windows, но когда я запускаю его в Linux, кажется, ничего не делает.

Если я установил mycommand = "ls -la", он работает как шарм.

Если я установил mycommand = "foobar", я получаю: java.io.IOException: Невозможно запустить программу "foobar": error = 2

Есть подсказки?

1 Ответ

0 голосов
/ 26 февраля 2019

Это потому, что java -version печатает информацию в STDERR в Linux.Но вы захватываете STDOUT.

def proc = "java -version".execute()
proc.waitFor()
def version = proc.err.text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...