如果您想在 Ant 中运行 Groovy 脚本,您可以使用这样的脚本任务:..
<script language="groovy">
//foo
</script>
Run Code Online (Sandbox Code Playgroud)
..或者像这样的常规任务:
<groovy>
//foo
</groovy>
Run Code Online (Sandbox Code Playgroud)
这两种方式都需要下载 Groovy 库。我在这个答案中找到了一个很有前途的 Ant 配置,它会自动执行此操作:使用 ant 或 maven 执行我的 groovy 脚本
现在我的问题:
两个 Ant 任务中的哪一个用于运行 Groovy 脚本?script或者groovy?
另外,如果 Ant 中包含支持 groovy 的脚本任务,那么“附加”groovy 任务的目的是什么?
另外我想引用我在这里找到的一篇博客文章:http : //jbetancourt.blogspot.co.at/2012/03/run-groovy-from-ants-script-task.html
当然,当 'groovy' 任务可用时,为什么要使用 'script' 任务?你不会。
有人同意这篇文章的作者吗?如果是这样 - 你能解释一下它背后的想法吗?
+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>
Run Code Online (Sandbox Code Playgroud)
你喜欢哪个 ?好的,通常代替回声。...你会使用print或println,
它只是为了演示对ant api的访问。