【发布时间】:2011-06-30 16:56:12
【问题描述】:
当我通过grails war 为我的 Grails 应用程序构建一个 war 文件时,它仍然包含一些 groovy 文件。
war-filed部署到应用服务器后,这些文件何时以及如何编译成java字节码?
【问题讨论】:
标签: grails groovy jvm-languages
当我通过grails war 为我的 Grails 应用程序构建一个 war 文件时,它仍然包含一些 groovy 文件。
war-filed部署到应用服务器后,这些文件何时以及如何编译成java字节码?
【问题讨论】:
标签: grails groovy jvm-languages
模板用于动态脚手架。例如,如果您有这样的控制器
class PersonController {
static scaffold = Person
}
然后它将使用模板在运行时创建控制器。这在实际应用程序中并不经常使用 - 它更多用于演示和入门 - 但它是一种选择。动态生成的控制器和 GSP 基于模板创建并在内存中编译。
groovy-all jar 确实有可以编译 Groovy 源代码的代码,但那是因为它是“-all”jar。仅仅因为它在那里并不意味着它必须被使用。一般来说,所有编译都是在构建战争时完成的,包括预编译 GSP。这是为了提高性能 - 您希望应用在生产环境中尽可能快。
【讨论】:
Person.findByUsername())和应用程序生命周期的大多数方面,它在很大程度上依赖于 Groovy。我认为删除 .groovy 模板是安全的,但你为什么要关心?
groovy 文件在你打包到战争之前被编译成类文件。检查WEB-INF/classes目录
【讨论】: