如何使用IDEA等开发工具对Grails 2.3进行调试
1个回答
推荐于2016-11-09
展开全部
grails 2.3版本升级之后,由于引入了fork机制进行并行处理,所以没法用以前最简单的从ide里面使用grails run-app启动程序直接进行调试了,必须换个方式。
首先是直接启动grails,可以在ide里面也可以直接在命令行,使用的命令是
grails run-app --debug-fork
如果使用ide,比如idea,那么在菜单的Run -> Edit Configurations -> Grails : Command Line里面改。
启动之后会显示:
Listening for transport dt_socket at address:5005
这时候可以进行调试了,但是必须是Remote模式。
在IDEA里面,在菜单的Run -> Edit Configurations,点左上角的加号+ Add New Configuration,
选中Remote。然后见下图,Settings里面选Socket 然后 Host:localhost,Port:5005
然后Run启动这个配置,就可以对断点进行调试了。
Eclipse等,同理。
这里特地说一下,不建议把fork都设置为false,我经过反复尝试,2.3.3和2.3.4版本,如果false了fork,reloading都不正常,貌似无解;虽然官方说默认启动了-reloading,但是无论是加命令行参数还是进行配置,都不好用,reload的时候会出现错误。
首先是直接启动grails,可以在ide里面也可以直接在命令行,使用的命令是
grails run-app --debug-fork
如果使用ide,比如idea,那么在菜单的Run -> Edit Configurations -> Grails : Command Line里面改。
启动之后会显示:
Listening for transport dt_socket at address:5005
这时候可以进行调试了,但是必须是Remote模式。
在IDEA里面,在菜单的Run -> Edit Configurations,点左上角的加号+ Add New Configuration,
选中Remote。然后见下图,Settings里面选Socket 然后 Host:localhost,Port:5005
然后Run启动这个配置,就可以对断点进行调试了。
Eclipse等,同理。
这里特地说一下,不建议把fork都设置为false,我经过反复尝试,2.3.3和2.3.4版本,如果false了fork,reloading都不正常,貌似无解;虽然官方说默认启动了-reloading,但是无论是加命令行参数还是进行配置,都不好用,reload的时候会出现错误。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询