2014-05-15 73 views
0

我是Gradle的新手,必须调用shell命令并解析它的控制台输出。为什么我应该使用org.gradle.api.tasks.Exec?

做一些研究如何与两种方式来实现这一点,我结束了之后:以commandLine

  1. 使用任务为type: Execorg.gradle.api.tasks.Exec)的摇篮路。
  2. Groovy/Java-way使用java.lang.Stringexecutejava.lang.Process

问题是,为什么我应该在Java方式上使用Gradle方式,反之亦然?我找不到任何资源指出这种差异。

+2

由于各种原因,您需要为此定义一个任务,并且配置内置任务类型几乎总是比编写特定任务更好。 –

+0

谢谢@PeterNiederwieser。 – florianb

回答

2

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

如果你正在寻找的是一个更好的控制或非典型的命令或可能结果的专用处理它更好地使用上String​​(但它更好地传递命令的List避免解析器问题)。它更低级,需要更多编码。

相关问题