在grails应用程序中在运行时修改groovy代码

Par*_*ras 9 grails groovy tomcat

当我使用嵌入式jetty服务器(tomcat for grails 1.2)运行我的grails应用程序时,我可以在运行时即时更改我的控制器,服务和其他java文件,而无需重新启动应用程序.如何在我的Tomcat(或任何服务器)上部署的应用程序上实现相同的功能.我观察到webapps下的爆炸war文件夹有gsp文件,但没有groovy文件.

fab*_*474 9

完成Eric的回答,您无法动态更改生产环境中的源代码.但是,如果您真的想要在现场修改代码,您可以:

  1. 更改groovy类,编译它,替换爆炸的war文件夹中的.class文件并重新启动tomcat(我知道,我知道,这很痛苦,但我不知道更好的方法)
  2. 对于gsp文件,有一个技巧.将以下属性添加到Config.groovy文件: grails.gsp.enable.reload=true.这将允许您动态更改您的gsp文件.小心,因为它会损害性能.见这里了解详细信息