繁体   English   中英

从Linux上的Groovy脚本运行Java可执行文件

[英]Run java executable from a groovy script on linux

我知道这有点奇怪,但是我正在尝试从一个普通的脚本运行java可执行文件:

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 = "ls -la"则它就像一个符咒。

如果我将mycommand = "foobar"设置mycommand = "foobar" :java.io.IOException:无法运行程序“ foobar”:error = 2

有什么提示吗?

这是因为java -version将信息打印到Linux上的STDERR。 但是您正在捕获STDOUT。

def proc = "java -version".execute()
proc.waitFor()
def version = proc.err.text

暂无
暂无

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

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