There are various options for compiling Groovy code and then either running it or using the Java objects it creates in Java code.
有各种编译Groovy代码的选择,不是运行它就是在Java代码中使用它所编译出来的Java类。
用脚本将Groovy代码编译成字节码
一个叫做groovyc的Ant任务像javacAnt任务一样,读取一堆groovy源代码文件并把它们编译成Java字节码。每个grovvy类就成为了一个标准的的Java类,如果你愿意的话你可以在你的Java代码中使用它们。
事实上,生成的Java类是无法和一个标准Java类区分的,除了它实现了GroovyObject接口之外。
用Ant和Maven将Groovy代码编译成字节码
groovycAnt任务是由Groovyc类来实现的。你在Groovy的maven.xml文件中可以看到一个实例(搜索‘groovyc')。
同样有优秀的DeveloperWorks的文章,它会告诉你如何像用Ant一样从Maven内部编译Groovy代码。
你也可以在 从Maven2内部 使用Ant任务, 或用 groovy-maven-plugin 。
在Java应用程序中动态使用Groovy
如果你不想显式的编译groovy代码成字节码,你可以直接 嵌入 groovy到你的Java应用程序中。
运行时依赖
除了Java1.4或更高版本,Groovy jar之外,我们在运行时还依赖ASM库(主要是asm和asm-tree),此外还有Antlr。你当然可以用GROOVY_HOME/embeddable目录下的groovy-all-xxx.jar,它在它自己的命名空间内嵌了ASM和Antlr,这样可以避免Jar版本问题。