在Grails应用程序中编译Groovy代码

时间:2011-06-30 16:56:13

标签: grails groovy jvm-languages

当我通过grails war为我的Grails应用程序构建war文件时,它仍然包含一些groovy文件。

战争文件部署在应用程序服务器上之后,这些文件何时以及如何编译为java字节码?

2 个答案:

答案 0 :(得分:5)

模板用于动态搭建。例如,如果你有这样的控制器

class PersonController {
   static scaffold = Person
}

然后它将使用模板在运行时创建控制器。这在实际应用中并不经常使用 - 它更适用于演示和入门 - 但它是一种选择。动态生成的控制器和GSP是基于模板创建的,并在内存中编译。

groovy-all jar确实有可以编译Groovy源代码的代码,但那是因为它是“-all”jar。仅仅因为它并不意味着它必然被使用。通常,所有编译都是在构建战争时完成的,包括预编译GSP。这是为了提高性能 - 您希望应用程序在生产中尽可能快。

答案 1 :(得分:1)

在打包到战争之前,groovy文件被编译成类文件。检查WEB-INF / classes目录