解惑

解己之惑,解人之惑

标签:Grails

Grails还不够成熟

因为GAE的问题打算转用Grails,但是真正用起来还是发现不少问题,虽然很多IDE号称可以用于调试Grails/Groovy,但是真正使用起来不是那么回事,我已经试了Eclipse和Netbeans,都不能调试,后来看到说Intellij对Grails的支持是最好的,刚好我们用的是商业版的Intellij,下了插件,按照别人的文章发现在Settings中根本找不到Grails/Groovy的配置项,找了一大圈,到插件的主页才看到别人提问,有人回答说新版本的插件把那个配置移到工程的属性里面去了,添加了Grails Facets后就可以配置了,如回答所言添加了,发现Grails1.1.1的配置完点击Apply或者OK后那个Grails的配置消失了,试了几次都如此,无语,继续到插件的主要看,看到不少人要求IDEA尽快更新插件以支持Grails1.1,但是IDEA无动于衷,那个插件最后的更新时间是一年前了。如果Grails不能解决在IDE里面的调试问题,那么使用Grails只能加快一部分的开发,而减慢真正的开发中耗时的调试工作,总不见得让我们加log去做调试的工作吧(虽然Groovy是动态语言,随时修改随时生效)。不过Intellij对Grails的支持确实是最好的,起码我在Groovy文件中设置的断点可以正常的起作用。

Date的问题

在Groovy中,如果使用Date类型那么需要使用Calendar,再通过Calendar的time属性来获得Date,如果直接使用new Date可能有问题。

BootStrap的问题

本来打算用GAE构建这个系统的,但是发现了严重的问题,所以经过考虑决定用Grails了,主要是为了能够更快的出一个可用的版本,暂时可能就随便找个机器放一下了。

开始使用Grails感觉还不错,但是真正开始使用马上就遇到问题了。
定义了User类,有些属性是可选的,然后在BootStrap的时候创建Administrator用户,发现没有创建出来。开始以为BootStrap没有被调用,加了log.error,控制台支持打出那个信息了,百思不得其解,如果有问题应该会有错误日志啊,但是没有发现任何错误,控制台同样也没有,而且那个语句后面的log语句也正常执行了,应该没有什么问题才对啊。
幸亏我这些年的经验没有白费,也还好我是一个基本上可以怀疑一切的人,马上怀疑是不是构造那个对象写的不对,因为初始化的时候我只设置了不能为空的属性,把全部的属性的值设置上,马上就搞定了。

对Grails的印象打了个大大的折扣,不过还是再试试吧。其实这个也是Grails的调试问题,试了下Eclipse的调试功能,发现不能定位到groovy文件,据说Netbeans可以,下载个试试看了。

更新:
Netbeans也不能调试Groovy,或者我还没有玩出来,反正断点设置好了,以debug模式启动,倒是打开了JavaScript调试器。
不可否认的是,Netbeans对Grails的支持确实是最好的,不需要再打开一个DOS窗口执行那些命令了。而且我在DOS窗口掉那些命令的时候总是有一个错误警告窗口,总是报告:"find.exe – Entry Point Not Found",原因无法定位动态链接库ulib.dll中的入口点。

© 2024 解惑

本主题由Anders Noren提供向上 ↑