2012-05-08 18 views
7

Extrañamente no tengo ningún error de tiempo de compilación, pero al ejecutar la aplicación obtengo el error NoClassDefFound para las clases de Groovy.Eclipse no compila secuencias de comandos Groovy en clases Java en tiempo de ejecución

Estoy usando Eclipse 3.6 con el complemento Groovy 2.7.0. Tengo Groovy 1.8.5 instalado en mi máquina y groovy-all.jar está en mi classpath de aplicación.

Puedo ver todos los archivos groovy en la carpeta WEB-INF/classes con extensión .groovy no con extensión .class.

¿Qué es lo que falta aquí?

+1

¿Cómo estás compilando? ¿Cómo lo estás ejecutando? ¿Qué hay en tu classpath? ¿Qué hay en tu jarra? –

+0

¿Qué versión de Eclipse? ¿Qué versión de Groovy? ¿Plugin actualizado de Groovy? ... * suspiro * ... –

+0

@tim_yates He actualizado mi pregunta. –

Respuesta

11

dos posibilidades:

  1. proyecto no es un proyecto maravilloso y para que sus archivos maravillosos están siendo tratados como recursos (no fuentes). Los recursos se copian a la carpeta de salida, mientras que las fuentes se compilan. Asegúrese de que el icono de su proyecto tenga un pequeño símbolo GR en él.

  2. O tal vez haya habilitado inadvertidamente las carpetas de scripts para la carpeta de origen donde se encuentran sus archivos geniales. Ve a Preferencias -> Groovy -> Compilador y mira la sección en Groovy Script Folders. Tenga en cuenta que las carpetas de Groovy Script también pueden configurarse por proyecto, por lo que también puede necesitar ver Project -> Properties -> Groovy Compiler.

+0

¡Eres increíble! La opción 2 funcionó para mí. –

2

Asegúrese de que está ejecutando el código usando groovy y no java. De lo contrario, deberá vincular el archivo groovy.jar en su classpath. Vea esto discussion.

Cuestiones relacionadas