当我使用嵌入式码头服务器(用于 grails 1.2 的 tomcat)运行我的 grails 应用程序时,我可以在运行时即时更改我的 Controller 、服务和其他 java 文件,而无需重新启动应用程序。我怎样才能在部署在 Tomcat(或任何服务器)上的应用程序上实现相同的功能。我观察到 webapps 下的 exploded war 文件夹有 gsp 文件,但没有 groovy 文件。
最佳答案
完成 Eric 的回答,您不能在生产环境中即时更改源代码。但是,如果您真的想实时修改代码,您可以:
- 更改groovy类,编译它,替换exploded war文件夹中的.class文件并重启tomcat(我知道,我知道,这很痛苦,但我不知道更好的方法)
- 对于 gsp 文件,有一个技巧。将以下属性添加到您的 Config.groovy 文件:
grails.gsp.enable.reload=true
。这将允许您即时更改您的 gsp 文件。要小心,因为它会损害性能。参见 here详情
关于tomcat - 在运行时在 Grails 应用程序中修改 groovy 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2760735/