Ant中的Groovy脚本:使用脚本任务还是Groovy任务?

Ant中的Groovy脚本:使用脚本任务还是Groovy任务?,ant,groovy,Ant,Groovy,如果您想在Ant中运行Groovy脚本,可以使用如下命令: <script language="groovy"> //foo </script> //福 …或类似的: <groovy> //foo </groovy> //福 这两种方法都需要下载Groovy库。我在下面的答案中找到了一个看起来很有前途的Ant配置,它可以自动执行此操作: 现在回答我的问题: 两个Ant任务中的哪一个用于运行Groovy脚本脚本还是groovy 另外,如果

如果您想在Ant中运行Groovy脚本,可以使用如下命令:

<script language="groovy">
//foo
</script>

//福
…或类似的:

<groovy>
//foo
</groovy>

//福
这两种方法都需要下载Groovy库。我在下面的答案中找到了一个看起来很有前途的Ant配置,它可以自动执行此操作:

现在回答我的问题:

两个Ant任务中的哪一个用于运行Groovy脚本<代码>脚本还是
groovy

另外,如果Ant中包含支持groovy的脚本任务,“附加”groovy任务的目的是什么

我还想引用我在这里找到的一篇博文:

当然,既然“groovy”任务可用,为什么还要使用“script”任务呢?你不会的


有人同意这篇文章的作者吗?如果是,你能解释一下它背后的想法吗?

+1约瑟夫关于groovy任务的声明(顺便说一句,他的博客和文章值得一读)
使用Groovy有很多目的,在Ant中,我专门使用Groovy任务,因为他的光滑语法提供了对Ant API的简单访问,请考虑这个例子:

<project>
  <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/>

  <property name="foo" value="bar"/>

  <script language="groovy">
   project.setProperty 'foo', 'baz'
   echo = project.createTask 'echo'
   echo.setMessage 'Howdie :-)'
   echo.execute()
  </script>

  <echo>1. $${foo} => ${foo}</echo>

  <groovy>
    properties.'foo' = 'baaz'
    ant.echo 'Howdie :-)'
  </groovy>

  <echo>2. $${foo} => ${foo}</echo>

</project>

project.setProperty“foo”、“baz”
echo=project.createTask“echo”
echo.setMessage“Howdie:-)”
echo.execute()
1. $${foo}=>${foo}
属性“foo”=“baaz”
ant.echo“Howdie:-)”
2. $${foo}=>${foo}

你喜欢哪一种?好的,通常不是echo。。。您可以使用print或println,
这只是为了演示对ant api的访问。

但是您不能使用脚本任务从文件运行脚本并在src属性中定义文件吗?这里是这样写的:
src脚本作为文件的位置,如果不是内联的
。当然,你是对的,忘记了这一点,因为我从不使用脚本任务:)删除了我回答的这一部分谢谢这个例子,我对它进行了一些研究,决定使用groovy任务!通过这种方式访问属性实际上要容易得多。