Grails 或 Play 如何检测更改和热重载类?
我很好奇有没有人知道像Grails或Play这样的框架如何检测代码中的更改并自动触发重新编译而无需重新启动应用程序服务器的细节?是否有一些特定于Groovy编译器或其动态特性的东西可以很容易地实现这一点?
对于后台,我在构建过程中有一个自定义代码生成阶段,我希望能够具有类似的编辑和刷新功能。
提前感谢任何指针,即使我必须筛选代码才能获得更大的画面。
编辑:我应该澄清一下,我并不是想构建一个Grails插件,而是要了解如何在servlet容器中的任何应用程序中执行此操作。也就是说,我使用的是Groovy,但不是Grails。
编辑2:听起来Play有一个特定的DEV模式,可以启用这种热重载:http://www.playframework.org/documentation/1.1.1/main#lifecycle
我知道JRebel通过classloaders执行复杂的类版本控制,但我假设像Grails或Play这样的Web框架并没有把它提升到那个水平。