2008-12-28 17 views
3

如何使用Eclipse從Java類引用Groovy域類?使用Eclipse從Java類引用Groovy域類?

我已經把我的域名類包:

package com.me.myproject 
public class Person { 
    String name 
    int age 
} 

然後在我的Java類,我試圖引用com.me.myproject.Person。這適用於grails run-app(命令行),但不適用於Eclipse。 Eclipse無法解析Groovy域類。

我運行Eclipse 3.4.1最新的Groovy和Grails Eclipse插件:

  • Grails的Eclipse特性0.1.0 20081120_2330
  • GroovyFeature 1.5.7.20081120_2330

我已經嘗試將Eclipse默認輸出文件夾設置爲與Groovy編譯器輸出位置相同。我也嘗試啓用和禁用「禁用Groovy編譯器生成類文件」設置。我也試過不把我的任何課程放在一個包裏。這些都不起作用。

回答

1

我還沒能在eclipse中做這個工作。在Spring獲得groovy/grails eclipse插件之後,除了僅僅使用顏色編碼之外,你最好的選擇就是使用像Intelij這樣的IDE,它有最好的groovy支持。

0

雖然我還沒有嘗試過,但我相信您需要在Java構建路徑中將Domain文件夾添加爲src文件夾。

右鍵單擊項目選擇屬性。點擊Java Build Path,然後點擊Source選項卡。 單擊添加文件夾並確保您的項目/ grails-app/domain位於路徑中。

如果這不起作用,那麼你是對的,我不知道是什麼問題。 Spring-Source是Eclipse的贊助商,我希望在不久的將來能夠大幅改進Eclipse插件。但你是對的。現在,這很煩人。

0

我也無法使用Groovy和Java的相同輸出文件夾工作,但如果您使用不同的輸出文件夾,它似乎工作。

這就是我所做的。通過項目屬性對話框:

  1. Groovy的項目屬性取消選中該複選框禁用Groovy的編譯器生成的類文件(注意插件開發者:請在複選框標籤使用積極的措詞「生成的Groovy類文件」。就好辦多了比「禁用禁用選項」來理解。)
  2. Groovy編譯輸出位置進入web-app/WEB-INF/groovy-classes
  3. Java Build Path - >庫添加Groovy類文件夾。

您現在應該可以使用Java編譯的Groovy類。

我認爲這不僅僅是一種解決方案,而是現在爲我完成的工作。

0

因爲這個問題已經修復,請升級到groovy-eclipse插件的V2。插件的V2不會構建存根,並且在Java和Groovy之間的循環依賴關係中沒有任何問題。該插件現在隨附了一個功能修補程序,可以修補JDT編譯器,以便它可以本地處理groovy文件。

0

我不確定引用文件或文件夾是否是好方法。你應該使用模塊化。所以你的域名將被存儲在單獨的「項目」中。可以通過創建插件來完成。你可以找到很好的解釋和源代碼here

0

看來我對這次派對有點遲,但我遇到了同樣的問題。通過將項目轉換爲Groovy項目,我能夠解決從Java類引用Groovy域類的問題。說明如下:

  1. 右鍵點擊Project Explorer中
  2. 選擇項目從配置菜單

我的環境是轉換爲Groovy項目如下:

  • Eclipse Kepler Service Release 1,Build ID:20130919-0819
  • Groovy的Eclipse插件2.9.0.xx-20130828-1400-E43-RELEASE
  • Grails的IDE 3.4.0.201310051518-RELEASE(我不認爲這是必要的)

最後,我做不是混亂與任何「禁用Groovy編譯器生成類文件」選項。