我是Gradle的新手,必须调用shell命令并解析它的控制台输出。
在做了一些研究之后如何实现这一点我最终有两种方式:
type: Exec
(org.gradle.api.tasks.Exec
)与commandLine
。java.lang.String
execute
和java.lang.Process
的Groovy / Java方式。问题是,为什么我应该使用Gradle-way而不是Java-way,反之亦然?我找不到任何指出差异的资源。
答案 0 :(得分:2)
如果您需要做的是一项非常标准的任务,最好使用Gradle的Exec
。它只是一个包装器,也可以启动一个命令。
如果您正在寻找的是更好的控制或非典型命令,或者可能是对结果的专门处理,最好在execute()
上使用String
(但最好将命令作为{{}传递1}}以避免解析器问题)。它的级别更低,需要更多编码。