2010-04-16 62 views
29

我正在通過「Grails in Action」一書,我堅持介紹grails控制檯。從我的項目目錄,我輸入「Grails的控制檯」來打開控制檯窗口,控制檯甚至輸出信息指示其被編譯的類,但是當我輸入到調音臺本:Grails控制檯 - 無法找到類?

new Quote(author:'Larry Wall',content:'There is more than one method to our madness.').save()

我得到這個錯誤:

unable to resolve class Quote 
at line: 1, column: 1 

報價類Quote.groovy存在於grails-app/domain/qotd/Quote.groovy,我不能夠運行上面的命令。

這裏怎麼回事?

回答

44

在嘗試實例化之前,您是否嘗試導入包含您的域類的包?

import qotd.Quote 
new Quote(author:'Larry Wall',content:'There is more than one method to our madness.').save() 

,以確保你也可以嘗試指定完整合格的名稱:

new qotd.Quote(author:'Larry Wall',content:'There is more than one method to our madness.').save() 
+10

奇。由於本書沒有提到它,我認爲我正在獲得自動導入魔法,或者什麼。 – 2010-04-16 19:21:16

+1

這是Grails In Action中的一個問題。在寫這個工作的時候,但它改變了後來的Grails版本...... – oligofren 2011-04-12 10:30:49

+1

我遇到了同樣的問題,儘管做了這個答案的建議,但我仍然沒有成功。任何其他想法? – 2011-09-16 01:01:17

0

貌似從Grails的工具上下文菜單中選擇「刷新依賴關係」還解決這樣的問題。

6

我經歷的Grails的MEAP在行動第二版(2.1.1),並發現該解決方案運行:

grails clean 
grails console 

型在常規控制檯的代碼,並再次運行