4

如果你想在 Ant 中运行 Groovy 脚本,你可以像这样使用脚本任务:..

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

..或像这样的常规任务

<groovy>
//foo
</groovy>

这两种方式都需要下载 Groovy 库。我在这个答案中发现了一个看起来很有前途的 Ant 配置,它会自动执行此操作:Execute my groovy script with ant or maven

现在我的问题

这两个 Ant 任务中的哪一个用于运行 Groovy 脚本?script还是groovy

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

我还想引用我在这里找到的一篇博文:http: //jbetancourt.blogspot.co.at/2012/03/run-groovy-from-ants-script-task.html

当然,当“groovy”任务可用时,为什么还要使用“脚本”任务呢?你不会的。

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

4

1 回答 1

5

+1 用于 Josef 关于 groovy 任务的声明(顺便说一句。他的博客http://josefbetancourt.wordpress.com/http://octodecillion.com/值得一读)
出于多种目的大量使用 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>

你喜欢哪个 ?好的,通常而不是回声。...您将使用 print 或 println,
这只是为了演示对 ant api 的访问。

于 2013-05-22T20:06:39.840 回答