Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
出于什么原因我应该使用org.gradle.api.tasks.Exec?_Gradle - Fatal编程技术网

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

出于什么原因我应该使用org.gradle.api.tasks.Exec?,gradle,Gradle,我是Gradle的新手,必须调用shell命令并解析它的控制台输出 在研究了如何实现这一目标后,我得出了两种方法: 使用任务类型:Exec和命令行的渐变方式。 Groovy/Java方式使用with execute和。 问题是,为什么我应该使用Gradle方法而不是Java方法,或者反之亦然?我还找不到任何资源来指出区别。如果你需要做的是一项相当标准的任务,那么最好使用Gradle的Exec。它只是一个包装器,在引擎盖下启动一个命令 如果您想要的是更好的控制或不典型的命令,或者可能是对结果的专用

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

在研究了如何实现这一目标后,我得出了两种方法:

使用任务类型:Exec和命令行的渐变方式。 Groovy/Java方式使用with execute和。
问题是,为什么我应该使用Gradle方法而不是Java方法,或者反之亦然?我还找不到任何资源来指出区别。

如果你需要做的是一项相当标准的任务,那么最好使用Gradle的Exec。它只是一个包装器,在引擎盖下启动一个命令


如果您想要的是更好的控制或不典型的命令,或者可能是对结果的专用处理,那么最好使用字符串上的execute,但最好将命令作为列表传递,以避免解析器问题。它的级别更低,需要更多的编码。

在任何情况下,您都需要为此定义一个任务,出于各种原因,配置内置任务类型几乎总是比编写临时任务好。谢谢@PeterNiederwieser。