本文針對(duì)Groovy和Grails的新人編寫(xiě),如果你已經(jīng)很熟悉,就請(qǐng)打住,以免耽誤你的時(shí)間,如果你有閑情,請(qǐng)對(duì)本文提出批評(píng)并指正。
Groovy,運(yùn)行在JVM上的動(dòng)態(tài)語(yǔ)言,語(yǔ)法與Java語(yǔ)法類似,大受Java程序員喜愛(ài),而且直接支持Java語(yǔ)法。Grails,基于Groovy,Spring和Hiberante的Rails樣式框架,幫助快速敏捷開(kāi)發(fā)Web應(yīng)用。Grails應(yīng)用需要Spring和Hibernate支持,對(duì)于一些非高級(jí)應(yīng)用,普通開(kāi)發(fā)人員無(wú)需掌握Spring和Hibernate知識(shí)。Netbeans則是Sun開(kāi)發(fā)的IDE,6.5版本之前號(hào)稱支持Groovy和Grails,不過(guò)請(qǐng)注意“號(hào)稱”一詞,所謂的Groovy插件充其量只是一個(gè)玩具而已。相比Netbeans對(duì)Ruby的支持不遺余力(據(jù)說(shuō)被評(píng)為最佳的Ruby IDE),被許多Java人士所鄙視。Netbeans的下一個(gè)版本6.5將內(nèi)建支持Groovy和Grails開(kāi)發(fā),也就是說(shuō),安裝Netbeans之后,無(wú)需再去折騰下載Groovy創(chuàng)建,安裝和配置了。如果以前有被玩弄過(guò)的人士應(yīng)該更能體會(huì)內(nèi)建支持的含義。對(duì)于Netbeans在支持Groovy和Grails方面的進(jìn)步和提高,還是要鼓勵(lì)一下,除了IDEA,免費(fèi)的工具對(duì)Groovy和Grails支持都差強(qiáng)人意。
因?yàn)椴煌沫h(huán)境,配置可能有略有不同,先說(shuō)明一下本文涉及工具的版本和操作系統(tǒng)。Java6,Groovy 1.5.6,Grails 1.0.3,Netbeans 6.5 M1,操作系統(tǒng)是Ubuntu 8.04。Windows和Ubuntu在配置環(huán)境變量上有區(qū)別,本文會(huì)簡(jiǎn)單說(shuō)明一下,相信會(huì)使用Windows的Java程序員都會(huì)配置。注意,請(qǐng)先確認(rèn)你的JDK已經(jīng)安裝,且JDK版本是1.5以上。
一 安裝配置Groovy
從Groovy的官方網(wǎng)站下載最新的正式版1.5.6,Windows和Ubuntu系統(tǒng)都下載zip壓縮文件,別下載那些打包好的exe,deb文件,現(xiàn)在都提倡環(huán)保,綠色天然好一點(diǎn)。
將下載好的groovy-binary-1.5.6.zip解壓,例如解壓安裝到c:\groovy-1.5.6(Windows)或/home/javaread/groovy-1.5.6(Ubuntu),然后配置運(yùn)行Groovy所需要的系統(tǒng)環(huán)境變量,增加明為GROOVY_HOME的系統(tǒng)變量,并指向groovy的安裝目錄c:\groovy-1.5.6(Windows)或/home/javaread/groovy-1.5.6(Ubuntu)。Windows就不特別說(shuō)明了,這里簡(jiǎn)單說(shuō)一下Ubuntu如何設(shè)置系統(tǒng)變量:用vi或者gedit打開(kāi)/home/javaread/.bashrc文件,在文件末尾追加下面內(nèi)容。
1
GROOVY_HOME=/home/javaread/Applications/groovy-1.5.6
2
PATH=$PATH:$GROOVY_HOME/bin:
3
export PATH GROOVY_HOME
配置好之后,驗(yàn)證一下Groovy的安裝配置是否成功。在系統(tǒng)命令行執(zhí)行g(shù)roovy -v,如果返回Groovy Version: 1.5.6 JVM: 10.0-b22等字樣表示安裝配置成功。
接下來(lái)下載Groovy文檔,解壓到本地即可,如果有Groovy文檔,Netbeans則可以有方法提示說(shuō)明,否則則沒(méi)有。這一步可選,看個(gè)人需要。
二 安裝配置Grails
從Grails官方網(wǎng)站下載最新版本1.0.3,Windows從這里下載zip壓縮格式,Ubuntu從這里下載tar/gz壓縮格式。將下載好的grails-bin-1.0.3.zip或者grails-bin-1.0.3.tar.gz解壓安裝到c:\grails-1.0.3(Windows)或/home/javaread/grails-1.0.3(Ubuntu)。
接下又是體力活,配置運(yùn)行Grails所需要的系統(tǒng)環(huán)境變量。 和Groovy雷同,增加名為GRAILS_HOME的系統(tǒng)變量,指向Grails的安裝目錄。Ubuntu系統(tǒng)同樣需要在/home/javaread/.bashrc追加下面內(nèi)容。
1
GRAILS_HOME=/home/wayne/Applications/grails-1.0.3
2
PATH=$PATH:$GRAILS_HOME/bin
3
export PATH GRAILS_HOME
加上Java和Groovy系統(tǒng)配置變量,完整的配置應(yīng)該與以下內(nèi)容類似。
1
JAVA_HOME=/usr/lib/jvm/java-6-sun
2
GROOVY_HOME=/home/javaread/Applications/groovy-1.5.6
3
GRAILS_HOME=/home/javaread/Applications/grails-1.0.3
4
PATH=$PATH:$JAVA_HOME/bin:$GROOVY_HOME/bin:$GRAILS_HOME/bin
5
export PATH JAVA_HOME GROOVY_HOME GRAILS_HOME
三 安裝配置Netbeans
從Netbeans的官方網(wǎng)站下載6.5 M1(如果有更新的版本請(qǐng)下載最新版本),注意要下載Web & Java EE這個(gè)版本。下載后開(kāi)始安裝,圖形的安裝界面也不用多解釋,當(dāng)安裝程序詢問(wèn)是否安裝GlassFish和Tomcat的時(shí)候,記得一個(gè)都不用選,Groovy和Grails開(kāi)發(fā)用不著。一路next,應(yīng)該無(wú)驚無(wú)險(xiǎn)就能安裝成功。
啟動(dòng)Netbeans,打開(kāi)Tools->Options菜單,進(jìn)入Groovy配置頁(yè),開(kāi)始配置Netbeans中配置Groovy和Grails。
先配置Groovy,照虎畫(huà)貓,設(shè)置你自己的Groovy安裝路徑,如果沒(méi)有下載Groovy的文檔,Groovy Doc一欄則保持為空。

然后配置Grails,按葫蘆畫(huà)瓢,設(shè)置你自己的Grails安裝路徑。
四 創(chuàng)建第一個(gè)Grails項(xiàng)目
創(chuàng)建一個(gè)新的Grails項(xiàng)目,如下圖,要選擇Groovy。

輸入項(xiàng)目名稱,這里是app。

比較簡(jiǎn)單,只需要兩個(gè)步驟,現(xiàn)在可以運(yùn)行了,F(xiàn)6快捷鍵運(yùn)行。如果看到下面頁(yè)面,那第一項(xiàng)目已經(jīng)運(yùn)行成功了,高興吧,折騰這么久,終于有東西看了!由于還有開(kāi)發(fā)任何應(yīng)用,目前只能看到這一個(gè)頁(yè)面,后面介紹如何增加應(yīng)用。

五 第一個(gè)Grails應(yīng)用
創(chuàng)建一個(gè)Site Domain Class

打開(kāi)Site.groovy,增加內(nèi)容,groovy編輯器還不錯(cuò)。

創(chuàng)建Site相關(guān)的控制器和視圖,不需要用Grails的命令。

自動(dòng)生成的代碼分布如下圖,在IDEA中,這三者相互關(guān)聯(lián),IDEA導(dǎo)航功能做的好。
SiteController.goovy代碼。
F6一下,這一次有東西看了,瀏覽器直接進(jìn)入http://localhost:8080/app/site/list,現(xiàn)在可以對(duì)Site CRUD了,就是這么簡(jiǎn)單,來(lái)一張效果圖。

六 總結(jié)
應(yīng)該說(shuō)Netbeans 6.5 M1還算不錯(cuò),已經(jīng)能夠滿足開(kāi)發(fā)Grails應(yīng)用的基本要求了,但是相比IDEA,導(dǎo)航功能做的差了一些,GSP編輯器還不支持Grails標(biāo)簽自動(dòng)提示,希望6.5正式版能有所改進(jìn)。
相關(guān)資料拓展:
Groovy and Grails in NetBeans
基于Groovy的構(gòu)建系統(tǒng)Gradle
NetBeans 6.5發(fā)布中直接包含Groovy/Grails支持