簡體   English   中英

使用Eclipse從Java類中引用Groovy域類?

[英]Reference Groovy domain class from Java class using Eclipse?

如何使用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域類。

我正在使用最新的Groovy和Grails Eclipse插件運行Eclipse 3.4.1:

  • Grails Eclipse功能0.1.0 20081120_2330
  • Groovy功能1.5.7.20081120_2330

我嘗試將Eclipse默認輸出文件夾設置為與Groovy編譯器輸出位置相同。 我還嘗試了啟用和禁用“禁用Groovy編譯器生成類文件”設置。 我也嘗試過不將任何類放在包中。 這些都不起作用。

我也無法使這項工作日食。 直到spring出現groovy / grails eclipse插件,他們要做的不僅僅是單純的顏色編碼,您最好的選擇是使用像Intelij這樣的IDE,它目前具有最佳的Groovy支持。

您嘗試過Groovy插件嗎? 它可能會這樣做。

對於Groovy和Java,我也無法使用相同的輸出文件夾來使它工作,但是如果您使用不同的輸出文件夾,它似乎確實可以工作。

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

  1. 在“ Groovy項目屬性”下,取消選中“ 禁用Groovy編譯器生成類文件 ”復選框(插件開發者注意:請在復選框標簽上使用正詞。“生成Groovy類文件”比“禁用禁用選項”更容易理解。)
  2. Groovy編譯器的輸出位置中,輸入web-app/WEB-INF/groovy-classes
  3. Java Build Path-> Libraries下,添加Groovy classes文件夾。

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

我認為這更多的是破解而不是解決方案,但現在它對我來說確實有效。

由於此問題已解決,請升級到groovy-eclipse插件的V2。 插件的V2不會構建存根,並且Java與Groovy之間的循環依賴關系也沒有任何問題。 現在,該插件附帶了一個功能補丁,該補丁修補了JDT編譯器,以便它可以自然地處理groovy文件。

看來我參加這個聚會有點晚了,但是我遇到了同樣的問題。 通過將項目轉換為Groovy項目,我能夠解決從Java類引用Groovy域類的問題。 說明如下:

  1. 右鍵單擊項目瀏覽器中的項目
  2. 從“ 配置”菜單中選擇“ 轉換為Groovy項目

我的環境如下:

  • Eclipse Kepler Service Release 1,內部版本號:20130919-0819
  • Groovy-Eclipse插件2.9.0.xx-20130828-1400-e43-RELEASE
  • Grails IDE 3.4.0.201310051518-RELEASE(我認為這沒有必要)

最后,我惹任何“禁止Groovy編譯生成類文件”選項。

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

右鍵單擊項目,選擇“屬性”。 單擊“ Java構建路徑”,然后單擊“源”選項卡。 單擊添加文件夾,並確保您的project / grails-app / domain在路徑中。

如果那行不通,那么您是對的,我不確定是什么問題。

僅供參考,Spring-Source就是這樣的Eclipse贊助商,我希望在不久的將來有一個經過改進的Eclipse插件。 但是你是對的。 現在,這很煩人。

我不確定引用文件或文件夾是否是個好方法。 您應該使用模塊化。 因此,您的域類將存儲在單獨的“項目”中。 可以通過創建插件來做到這一點。 您可以在此處找到很好的解釋和源代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM