1

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

将war-filed部署在应用服务器上后,这些文件何时以及如何编译为java字节码?

4

2 回答 2

5

模板用于动态脚手架。例如,如果您有这样的控制器

class PersonController {
   static scaffold = Person
}

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

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

于 2011-06-30T18:00:31.840 回答
1

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

于 2011-06-30T17:12:15.690 回答