2011-05-29 27 views
6

Estoy tratando de construir un proyecto de Grails en STS y recibo muchos mensajes de error de la forma: Groovy:unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder y otros como Groovy:unable to resolve class org.grails.plugins.springsecurity.service.AuthenticateService . Tengo Grails 1.3.7 seleccionado en las propiedades del proyecto, pero no veo un elemento para 'Depedencias de Grails' como hago cuando creo un proyecto de muestra. ¿Este es el problema? ¿Cómo puedo agregarlo nuevamente?Groovy/Grails - Incapaz de resolver la clase

+0

¿Ve estos errores mientras edita clases o cuando intenta ejecutar el proyecto? –

+0

@Kaleb Brasee - Cuando intento hacer una compilación. Además, creo que resolví los errores de ConfigurationHolder mediante Refreshing Dependencies, que creó las 'Dependencias de Grails' en mi proyecto. Todavía recibo el error AuthenticateService, a pesar de que tengo el complemento acegi en mi proyecto. – skaz

Respuesta

20

no sé por qué, pero aquí están los pasos que tomaron para resolver el problema:

  1. clic derecho en el proyecto e ir a Grails Herramientas -> Activar gestión de la dependencia
  2. Grails Herramientas - > Actualizar Dependencias. Esto agregó correctamente la biblioteca 'Dependencias de Grails'.
  3. Todavía tenía errores de complementos. Por algún motivo, tuve que desinstalarlos y luego volver a instalarlos para que el proyecto se diera cuenta de que estaban allí.
+0

Gracias. Funciona. –

+0

Tengo un error similar "No se puede resolver la clase" en bibliotecas externas como import com.beust.jcommander.JCommander. Estoy usando Gradle pero no Grails. ¿Cómo puedo permitir que mi proyecto Groovy busque las bibliotecas externas? –

1

Si "Refresh Dependencies" ha hecho todo lo posible por usted (como lo indica en su comentario sobre la pregunta), intente deshabilitar y volver a habilitar las dependencias. Puede volver a intentar refrescar dependencias nuevamente si aún no se reconoce el complemento de Acegi.

0

Hay otra manera me resolvieron este problema cuando moví mi espacio de trabajo desde el sistema operativo Windows a Ubuntu, ir a

yourWorkSpace -->yourGrailsProject-->setting folder --> org.grails.ide.eclipse.core.prefs, 

a continuación, comprobar todos los caminos Grails son correctas o no, porque en mi caso, todos apuntaban a las rutas de Windows ..

Espero que esto solucione.

7

Para cualquier persona que está usando Grails> = 2.4

Si está usando Grails 2.4 y superiores, utilizar grails.util.Holders en lugar de org.codehaus.groovy.grails.commons.ConfigurationHolder.

Lea el documento here sección 'titular estático'

Clases Las siguientes clases desaprobadas han sido retirados de Griales 2.4.x:

org.codehaus.groovy.grails.commons. ApplicationHolder org.codehaus.groovy.grails.commons.ConfigurationHolder org.codehaus.groovy.grails.plugins.PluginManagerHolder org.codehaus.groovy.grails.web.context.ServletContextHolder org.codehaus.groovy.grails.compiler.support.GrailsResourceLoaderHolder Si usted o los complementos que ha instalado están utilizando estas clases, recibirá un error de compilación. El problema se puede corregir actualizando a los nuevos complementos y usando grails.util.Holders en su lugar.

0

Me enfrenté a un problema similar: "No se pudo resolver la clase GrailsTestCase". Revisé Grails Tools de mi proyecto y observé que Dependency Management ya estaba habilitada (IDE - GGTS). Acabo de desactivar Dependency Management, actualizado y habilitado de nuevo. Esto resolvió el problema para mí.

Cuestiones relacionadas