【发布时间】:2011-07-10 18:00:12
【问题描述】:
我很好奇有人知道 Grails 或 Play 等框架如何检测代码中的更改并自动触发重新编译而不重新启动应用服务器的详细信息吗?是否有特定于 Groovy 编译器或其动态特性的东西可以很容易地发生这种情况?
作为背景,我在构建过程中有一个自定义代码生成阶段,我希望能够拥有类似的编辑和刷新功能。
提前感谢任何指点,即使我必须筛选代码以获得更大的图片。
编辑:我应该澄清一下,我并不想构建一个 Grails 插件,而是要了解在 servlet 容器中的任何应用程序中执行此操作需要什么。即,我使用的是 Groovy 而不是 Grails。
Edit2:听起来 Play 有一个特定的 DEV 模式,可以启用这种热重载:http://www.playframework.org/documentation/1.1.1/main#lifecycle
我知道 JRebel 通过类加载器执行精细的类版本控制,但我假设像 Grails 或 Play 这样的 Web 框架没有将它提升到那个级别。
【问题讨论】:
-
Luke Daley 有一篇很好的文章,介绍了如何为 Groovy 类进行热重载。它可能对你有用:ldaley.com/post/653190105/…
-
这里有一些关于 JRebel 如何以通用方式执行此操作的有趣细节。我假设 Grails 没有那么复杂! zeroturnaround.com/blog/…
-
我将@Codemwnci 的答案标记为解决方案,但如果有人对 Grails 有深入了解,我仍然很感兴趣。谢谢!
标签: java grails groovy playframework hotdeploy