免责声明:Ant Noob!
我试图让这个常规任务在蚂蚁中运行。到目前为止工作:
<project>
<taskdef name="groovy"
classname="org.codehaus.groovy.ant.Groovy"
classpath="C:/Local/groovy-2.4.5/lib/groovy-ant-2.4.5.jar;C:/Local/groovy-2.4.5/lib/groovy-2.4.5.jar"/>
<echo message="Hello!"/>
<groovy>
println "Hello from Groovy!"
</groovy>
</project>
我无法落后(甚至阅读this及相关条目)是我需要对我的Ant安装(Windows)进行的操作,以使脚本像这样运行,而不需要{{1在我的项目特定构建文件中的任何其他引用:
taskdef
答案 0 :(得分:1)
您需要将所有Groovy依赖项(groovy-ant.jar
,groovy.jar
等)放在Ant读取的类路径上。最简单的方法是将它们存储在 ANT_HOME / lib下。或者您可以使用命令行上的-lib
选项传递它们。
然后你仍然需要告诉Ant关于antlib的路径。您可以使用documentation page中描述的antlib命名空间机制。您在命名空间URI中指定包含antlib.xml
的包,在本例中为org.codehaus.groovy
:
<project xmlns:groovy="antlib:org.codehaus.groovy">
<echo message="Hello!"/>
<groovy:groovy>
println "Hello from Groovy!"
</groovy:groovy>
</project>
请注意,如果在 ANT_HOME / lib中放置了Jar文件(及其依赖项),您仍然可以使用taskdef
而不引用Jar文件。您只需引用Jar中antlib资源的路径。在这种情况下,您可以不使用名称空间URI:
<project>
<taskdef resource="org/codehaus/groovy/antlib.xml"/>
<echo message="Hello!"/>
<groovy>
println "Hello from Groovy!"
</groovy>
</project>