[英]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:
我嘗試將Eclipse默認輸出文件夾設置為與Groovy編譯器輸出位置相同。 我還嘗試了啟用和禁用“禁用Groovy編譯器生成類文件”設置。 我也嘗試過不將任何類放在包中。 這些都不起作用。
我也無法使這項工作日食。 直到spring出現groovy / grails eclipse插件,他們要做的不僅僅是單純的顏色編碼,您最好的選擇是使用像Intelij這樣的IDE,它目前具有最佳的Groovy支持。
您嘗試過Groovy插件嗎? 它可能會這樣做。
對於Groovy和Java,我也無法使用相同的輸出文件夾來使它工作,但是如果您使用不同的輸出文件夾,它似乎確實可以工作。
這就是我所做的。 通過項目屬性對話框:
web-app/WEB-INF/groovy-classes
您現在應該可以使用Java編譯的Groovy類。
我認為這更多的是破解而不是解決方案,但現在它對我來說確實有效。
由於此問題已解決,請升級到groovy-eclipse插件的V2。 插件的V2不會構建存根,並且Java與Groovy之間的循環依賴關系也沒有任何問題。 現在,該插件附帶了一個功能補丁,該補丁修補了JDT編譯器,以便它可以自然地處理groovy文件。
看來我參加這個聚會有點晚了,但是我遇到了同樣的問題。 通過將項目轉換為Groovy項目,我能夠解決從Java類引用Groovy域類的問題。 說明如下:
我的環境如下:
最后,我沒惹任何“禁止Groovy編譯生成類文件”選項。
盡管我還沒有嘗試過,但是我相信您需要在Java構建路徑中將Domain文件夾添加為src文件夾。
右鍵單擊項目,選擇“屬性”。 單擊“ Java構建路徑”,然后單擊“源”選項卡。 單擊添加文件夾,並確保您的project / grails-app / domain在路徑中。
如果那行不通,那么您是對的,我不確定是什么問題。
僅供參考,Spring-Source就是這樣的Eclipse贊助商,我希望在不久的將來有一個經過改進的Eclipse插件。 但是你是對的。 現在,這很煩人。
我不確定引用文件或文件夾是否是個好方法。 您應該使用模塊化。 因此,您的域類將存儲在單獨的“項目”中。 可以通過創建插件來做到這一點。 您可以在此處找到很好的解釋和源代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.