2010-04-16 13 views
29

Estoy trabajando en el libro "Grails in Action", y estoy atrapado en esa parte que presenta la consola de Grails. Desde mi directorio del proyecto, escribimos "consola griales" para abrir una ventana de la consola y la consola incluso la información de salida que indica que estaba compilando clases, pero cuando escribo esto en la consola:Consola de Grails: ¿no se puede encontrar la clase?

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

consigo este de error:

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

existe la clase Cita en Quote.groovy en grails-app/domain/qotd/Quote.groovy, y no soy capaz de ejecutar el comando anterior.

¿Qué está mal aquí?

Respuesta

44

¿Intentó importar el paquete que contiene su clase de dominio antes de intentar crear una instancia?

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

estar seguro de que también puede intentar especificar el nombre calificado completo:

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

Impar. Como el libro no lo mencionaba, supuse que obtendría magia de importación automática, o algo así. –

+1

Este es un problema con Grails In Action. En el momento de escribir esto, funcionó, pero cambió con versiones posteriores de grial ... – oligofren

+1

Estoy experimentando el mismo problema, y ​​a pesar de hacer lo que sugiere esta respuesta, todavía no tengo éxito. ¿Alguna otra idea? –

0

Parece que seleccionar "Actualizar dependencias" en el menú contextual Herramientas Grails también corrige problemas de este tipo.

6

Voy a través de la MEAP de Grails en Acción segunda edición (2.1.1) y se encontró que la solución es ejecutado:

grails clean 
grails console 

tipo de código en la consola de nuevo y maravilloso correr

Cuestiones relacionadas