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文件中設置斷點進行調試的時候報了這個錯,不知道爲什麼。但我將項目運行起來後,程序仍然停在了我設置的那個斷點處!很奇怪。如果誰知道這 是什麼原因,歡迎告知!


好了,問題就補充到這,如果大家還有什麼好的經驗也希望可以一起共享出來,一起進步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章