2010-01-23 9 views
9

Estaba haciendo varios pequeños cambios en mi aplicación y en algún momento el servidor de la aplicación de Grails decide que debe reiniciarse una y otra vez.Servidor de aplicaciones My Grails se reinicia una y otra vez

Alguien más ha visto este comportamiento loco. Realmente no puedo cargar toda mi aplicación como un ejemplo. No tengo idea de lo que hice. No estaba haciendo ningún cambio de configuración o cambios de complementos.

Estoy usando grails 1.2.

- Cuando escribí este correo electrónico, lo intenté de nuevo y tengo un comportamiento ligeramente diferente.

Va a reiniciar la aplicación y le da el mensaje de que está compilando 1 archivo de origen y sigue recompilando el mensaje.

Respuesta

12

No estoy seguro de si este es su problema, pero he observado algo como esto cuando algo malo está mal con uno de sus nombres de clase o paquetes, es decir, tiene un paquete org.grails.plugin en el directorio org. grails.foo. Que por alguna razón causa recompilación.

Para detectar algunos de estos errores, modifiqué mis GRAILS_HOME \ scripts_GrailsCompile.groovy haciendo que imprima los archivos que está compilando.

Para modificar:

búsqueda de ant.groovyc y añadir listfiles: "sí" a los parámetros.

Ejemplo:

ant.groovyc(destdir:classesDirPath, 
    classpathref:classpathId, 
    listfiles:"yes", 
    encoding:"UTF-8", 
    compilerPaths.curry(classpathId, false) 
) 

De esta manera si usted ve los mismos archivos exactos que se mantenga conseguir volver a compilar, usted sabe dónde buscar.

+0

Terminé creando un nuevo proyecto y copiando todos mis archivos fuente en él. Comenzó y compiló muy bien. Pero gracias por la sugerencia. La usaré la próxima vez que ocurra algo así. – Andrew

+0

creando un nuevo proyecto desde cero, equivalente al reinicio anterior bueno :-) –

+2

Las versiones posteriores pueden usar grails -Dgrails.project.compile.verbose = true compilar – nickd

1

Si grails se ejecuta en modo dev, y el código fuente está en un sistema de archivos remoto, y el servidor de archivos remoto tiene su hora configurada en el futuro, esto es lo que obtendrá.

3

Muchas gracias a kdj por señalar que las futuras marcas de tiempo también pueden causar el error de reinicio continuo.

por lo que hay al menos dos formas de reinicio continuo puede suceder 1) nombres de los paquetes no coincida con la estructura de carpetas 2) Uno o más archivos de clase tienen marcas de tiempo futuro en relación con la fecha del servidor

En mi caso, algo Ocurrió algo raro en mi cuadro de desarrollo durante el cambio de DST y las marcas de tiempo en algunos archivos de clase generados se configuraron en 2 días en el futuro.

3

Sé que esta es una pregunta antigua, pero me encontré con el mismo problema. Iniciar la aplicación Grails provocaría su recompilación una y otra vez. Mi problema estaba relacionado con el nombre del archivo de la clase Groovy que NO coincide con el nombre de la clase dentro del archivo. El código estaba bien, pero los nombres eran diferentes. Una vez que cambié los nombres para que estuvieran sincronizados, se resolvió el problema. Para construir sobre la respuesta aceptada que puede utilizar:

grails run-app -verboseCompile 

para hacer griales imprima el archivo de script infractor/clase cuando se compila una y otra vez. Me llevó al módulo ofensivo. Si observa el script 'GRAILS_HOME \ scripts_GrailsCompile.groovy`, puede ver que ponen esta opción en su lugar para poder anular el valor al inicio. Probablemente no desee modificar los originales si puede ayudarlo (como la respuesta original aceptada).

Esto se hizo en Grails 1.3.7.

0

Me encontré con el mismo problema y dos cosas diferentes lo resolvieron para mí. Una simplemente reiniciaba el sistema y la otra ejecutaba la aplicación runils de Grails. La compilación detallada no mostró ningún problema con mi proyecto.

0

Además, asegúrese de que su fileName.groovy coincida con su className.

Copié un código de otro proyecto una vez y me encontré con esta situación.

Cuestiones relacionadas