我应该使用org.gradle.api.tasks.Exec的原因是什么?

时间:2014-05-15 09:59:26

标签: gradle

我是Gradle的新手,必须调用shell命令并解析它的控制台输出。

在做了一些研究之后如何实现这一点我最终有两种方式:

  1. 使用任务的Gradle-way - type: Execorg.gradle.api.tasks.Exec)与commandLine
  2. 使用java.lang.String executejava.lang.Process的Groovy / Java方式。
  3. 问题是,为什么我应该使用Gradle-way而不是Java-way,反之亦然?我找不到任何指出差异的资源。

1 个答案:

答案 0 :(得分:2)

如果您需要做的是一项非常标准的任务,最好使用Gradle的Exec。它只是一个包装器,也可以启动一个命令。

如果您正在寻找的是更好的控制或非典型命令,或者可能是对结果的专门处理,最好在execute()上使用String(但最好将命令作为{{}传递1}}以避免解析器问题)。它的级别更低,需要更多编码。