因为很长一段时间一直使用 NetBeans 开发,所以最先使用的 Grails IDE 是 NetBeans 。总体上来说,NetBeans 对 Groovy 和 Grails 的支持要好过 Eclipse。因为在 Eclipse 下创建一个 Grails 应用后是不像 NetBeans 立马就能用的。在 Eclipse 下创建 Grails 应用后还是需要一些配置来修补 Grails 插件不完善所造成的错误,比如说 classpath 中默认缺少 GRAILS_HOME 变量的配置等等。
但是目前来说,将 NetBeans 作为 Grails IDE 的最大问题是无法调试 Grails 应用。无论是直接在 NetBeans 下调试,还是 Remote 调试,都不管用,至少是设置断点之后没有任何反应。在这方面,Eclipse 的表现就很好。虽然直接在 Eclipse 下启动 Grails 应用某些情况下还有问题(比如如果使用 PostgreSQL 作为数据库,那直接在 Eclipse 下启动 Grails 应用会出现无法找到数据库驱动的问题,但如果在 Eclipse 之外使用 Grails 的命令直接启动应用就没有这个问题,更改 classpath 设置后也无法解决这个问题),但是 Eclipse 下使用 Remote 调试是没有任何问题的,至少现在还没有发现。这里简单说一下做法:首先使用终端执行 grails-debug run-app,然后终端会显示 Debug 用的 socket 端口 - 5005,这个是 IntelliJ 的默认端口,当然 Eclipse 用也没问题。在 Eclipse 下点击 Run -> Debug Config -> Remote Java Application,进去之后就不用多说了,很容易就能配置好了。之后就可以用 Eclipse 调试 Grails 应用了。
总体来说,Grails 现在还是很年轻的技术。在开发时会遇到很多问题,调试只是一方面。对于上面提到的问题,如果谁有更好的解决方案,欢迎交流。