2010-04-16 28 views
29

Pracuję nad książką "Grails in Action", a ja utknąłem w tej części, która wprowadza konsolę grails. Z mojego katalogu projektu, Wpisałem „konsoli grails”, aby otworzyć okno konsoli i konsola nawet informacja wyjście sygnalizujące było kompilacji klas, ale kiedy wpisz w konsoli:Grails console - Nie można znaleźć klasy?

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

uzyskać to błąd:

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

Klasa Cytat istnieje w Quote.groovy w grails-app/domain/qotd/Quote.groovy, a ja nie jestem w stanie uruchomić powyższego polecenia.

Co tu jest nie tak?

Odpowiedz

44

Czy próbowałeś zaimportować pakiet zawierający twoją klasę domeny, zanim spróbujesz utworzyć instancję?

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

mieć pewność, można także spróbować określenie pełnej nazwy kwalifikowanej:

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

Dziwny. Ponieważ książka o tym nie wspomniała, zakładałem, że dostaję magię auto-importu, czy coś takiego. –

+1

To jest problem z Grails In Action. W czasie pisania to działało, ale zmieniło się wraz z późniejszymi wersjami Grails ... – oligofren

+1

Mam ten sam problem i pomimo robienia tego, co sugeruje ta odpowiedź, wciąż mi się nie udaje. Jakieś inne pomysły? –

0

Wygląda wybierając „Odśwież Zależności” z menu kontekstowego Narzędzia Grails także rozwiązuje problemy, takie jak ten.

6

Idę przez MEAP z Grails w działaniu drugie wydanie (2.1.1) i okazało się, że rozwiązanie jest prowadzony:

grails clean 
grails console 

rodzaj kodu w konsoli porywające ponownie i uruchomić

Powiązane problemy