Eclipse下的Grails开发环境搭建详解

听说Eclipse对Grails支持不是很好,相反,IntelliJ和NetBeans都比Eclipse要好。IntelliJ我是没用过,不好发 表什么看法,不过经过这两天对Eclipse和NetBeans在开发Grails项目上的试用,发现确实NetBeans使用起来要方便一点。这是一句 比较客观的话,因为本身我自己大部分时间还是一个Eclipse使用者。那么下面我们就进入正题:

1. Grails环境安装

不管用NetBeans还是Eclipse,都需要这一步,即首先将Grails下载下来,并安装好。

Grails官网是:http://grails.org/

下载链接:http://grails.org/Download

这一步很简单,相信大家都不会有什么问题。只是有一个细节必须得提一下,那就是GRAILS_HOME环境变量的设置问题,它必须与你所设置的PATH变 量(添加了%GRAILS_HOME%/bin目录之后的那个PATH)在同一个级别上。要么都是用户级变量,要么都是系统级变量。我这里全部设置在用户 级变量下,如图:


之后,运行cmd,输入grails命令,回车,如果能够显示一条帮助信息,那么表示这一步成功完成。(我这里使用的版本是Grails 1.0.3)

2. Eclipse安装

这里也只有一点需要说明:因为Grails开发是需要编辑gsp文件的,它实际上就是一个使用了一些特殊标签的jsp文件,而Classic版本的 Eclipse不带有jsp编辑器,所以建议下载JEE版本的Eclipse。当然,如果你觉得你对JSP语法太熟悉了,完全可以不用它的JSP编辑器, 而且你机器内存实在太小的话,可以考虑用Classic版本。

下面将以最新的Eclipse 3.4.0 JEE版本为例。

3. 安装Groovy Eclipse插件

其官方网址是:http://groovy.codehaus.org/Eclipse+Plugin

下载地址是:http://dist.codehaus.org/groovy/distributions/update/GroovyEclipse.zip

像一般的Eclipse插件安装一样,可以选择用Software Update安装或用link的方式进行安装,在我之前的博客中详细介绍过Eclipse插件安装的问题,而且网上资料也很多,这里就不详细讲了。

[Eclipse 插件的载入与安装:http://hi.baidu.com/dianjinglong/blog/item /2d7ce422305deda74623e8e2.html]

这一步完成后,可以在Eclipse的New向导中看到如下内容:


Preferences窗口中也会有一个Groovy的配置项:



4. Groovy Eclipse插件配置

如果你英文足够好,前面三个步骤都可以在官网上找到详尽的描述,而且都不复杂。下面这两步将是本文的重点,我将把我使用过程中的一些经验也共享给大家,而 且也会列举一些常见问题的解决办法。

4.1 首先,需要在Eclipse的classpath variable中再次设置一个GRAILS_HOME变量,它的值同样指向Grails的安装目录。网上有一种说法是省略了这一步的,那样的话也可以, 只不过今后在创建或导入Grails项目的时候,都需要在项目的Build Path的Libraries下去手工添加Grails的库文件,毫无疑问这样很麻烦!


4.2 其次是进入Windows -> Preferences -> Groovy,将Disable Groovy Compiler Generating Class Files这一项选上,这样可以防止编译器给groovy文件生成class文件,然后存到项目目录中。如果那样的话,有可能会给你之后的开发带来一些不 可预料的麻烦。


4.3 然后将Grails命令作为一个External Tool添加到Eclipse的工具栏中。依次进入Run > External Tools > External Tools Configurations...,在Program下面新建一项,命名为Grails。其详细的设置方法见如下几张图片:


....

 

 


完成后就可以在External Tools工具下找到Grails这一项了:



在之后的开发过程中,如果需要创建一个domain类,那么就选择此工具,然后在弹出的对话框中输入grails命令create-domain- class,然后再在Console窗口的提示后面输入domain类的名称,就可完成domain类的创建。这完全类似于在cmd命令行下进行操作,但 NetBeans却不同于此,操作过程要简单很多,这在之后会作相应说明。也许这就是为什么大家都说NetBeans对Grails的支持比 Eclipse好的原因之一吧。

另外,如果你想运行一个Grails项目,却最好不要简单的使用这个External Tools,然后输入run-app,回车!为什么?这个问题先留在这里,在本文的下一部分再作详细说明。

4.4 最后就是关联gsp文件的编辑器,如果你下载的是Classic版本的Eclipse,那么可以跳过这一步。

进入Windows -> Preferences -> General -> Editors -> File Associations添加一项*.gsp,并将JSP编辑器与其关联,如图:


然后同样在Preferences窗口中,General -> Content Types,展开Text -> JSP,添加一项*.gsp,如图:


至此,Eclipse插件的配置告一段落!下面开始正式的开发工作:

5. 正式开始开发

有两种办法开始你的项目开发:第一是在cmd下创建一个grails项目,然后在eclipse里导入,它适合编辑一些已有的项目;第二种办法当然是使用 前面辛辛苦苦配置的Eclipse配件来创建一个新的grails项目。

在正式开始运行项目之前,还有一个情况需要说明。不知道为什么,我这里碰到这样一种情况:如果一个项目是从另外的地方被导入的,并且没有拷贝到 workspaces下面来,而在此之前,它已经可以在cmd下使用grails run-app命令运行起来了,那么在eclipse下也可以正常运行起来;但如果我将其拷贝到workspaces下面来,或者是在eclipse下新 建的一个项目,那么就必须在项目的Build Path中加入java的库文件%JAVA_HOME%/lib/tools.jar,否则就会报Error starting Sun's native2ascii这个错。所以可能需要在适当的情况下将tools.jar放入到项目的Build Path中,如图:


下面来解答前面留下的一个问题,为什么不要使用之前配置的External Tools来运行项目。经过我自己的尝试,使用这个External Tools启动项目后,就没有很好的办法来停止这个服务了!使用eclipse Console面板的Terminate?不行!停了之后,你照样可以通过浏览器访问这个服务。查看系统进程就知道,这个服务进程还存在!难道让我每次停 止服务的时候都去中止这个系统进程?貌似太Professional了吧 -_-!! 所以还是使用下面这个办法来运行项目比较好:

不管是新建项目还是导入的项目,eclipse都会自动给你配置一个Run Configuration,只是刚开始的时候可能在Run下拉菜单中找不到。要把它调出来的办法就是Run -> Run Configurations... 在Java Application下面找到以项目名称命名的运行项,如图:


然后点击下面的Run按钮,就可以启动项目。启动第一次之后,eclipse会自动将这一项添加到Run下拉菜单中,今后就不用每次都打开运行设置窗口 了。启动之后,这次就可以通过eclipse Console面板的Terminate按钮来停止服务了!

6. 补充几个常见问题及解决办法

到这里,eclipse环境的搭建就完成了。上面其实已经列举了几个有可能出现的问题了,这里最后再补充两个。

6.1 Compilation error: Unable to find a javac compiler

项目启动的时候,有的时候可能会报这个错。网上有种解决办法是将eclipse环境里面的jre换成jdk目录,我看了一下我自己的设置,已经是jdk的 目录了,但还是出现过这个问题。我不知道它这种解决办法讲的是改哪个地方,也许我找错地方了。不过当我将%JAVA_HOME%/lib /tools.jar文件加入到项目Build Path中之后,就没有出现这个问题了,大家可以尝试一下。

6.2 Variable references empty selection: ${project_loc}

项目启动时,有可能也会报这个错。网上查了几个办法,我试了一下,“刷新一下工程”应该是一个有效的解决办法。

6.3 Unable to install breakpoint...


在groovy文件中设置断点进行调试的时候报了这个错,不知道为什么。但我将项目运行起来后,程序仍然停在了我设置的那个断点处!很奇怪。如果谁知道这 是什么原因,欢迎告知!


好了,问题就补充到这,如果大家还有什么好的经验也希望可以一起共享出来,一起进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值