Grails vuelve a cargar automáticamente nuevas acciones de controlador
groovy reload (3)
He hecho la misma pregunta en github repo .
Parece que el último SNAPSHOT con resorte funciona bien .
Pero debe estar integrado en Grails, desafortunadamente en la próxima versión :(
He
- creó el nuevo proyecto Grails 2.4.3
- creado
TestController
- establecer
grails.reload.enabled = true
enBuildConfig.groovy
- ejecutar la aplicación con
grails -reloading run-app
Mi código de acción de controlador:
def index() {
render "test"
}
Cuando cambio la test
cadena a test2
, veo en la consola (en Eclipse):
..................
|Compiling 1 source files
Y después de volver a cargar la página, veo test2
- ok.
Pero cuando trato de agregar un nuevo método:
def test3() {
render "test3"
}
Ya veo:
¿Por qué? ¿Por qué no hay ni siquiera la url?
Ejemplo: la acción no existe:
Lo interesante es que cuando creo un controlador completamente nuevo, la acción de index
del controlador recién creado funciona ...
EDITAR
Después de un tiempo, decidí ir con la bota de resorte y, de hecho, tampoco funcionaba. Creo que Springloaded es el problema aquí porque no recoge un nuevo método agregado en @Controller
Solución que funciona para mí:
1) Versiones:
- IDE: Intellij IDEA 14.1.3
- JDK: jdk1.7.0_25
- GRAILS: 2.5.0
2) En BuildConfig.groovy:
grails.reload.enabled = true
grails.project.fork = [
test: false,
run: false,
]
3) Originalmente, mi código se compiló en Grails 2.4.4, así que actualicé a 2.5.0. No tuve problemas con el cambio de versión con complementos ni nada. Creo que esto funciona porque usa versiones posteriores de la primavera. Pasos:
- set-grails-versión 2.5.0
- limpiar
- eliminar el trabajo de directorio (solo para estar seguro, realmente no sé si esto es una buena práctica)
- compilar y / o ir al número 4
4) Debug Idea con esta configuración: run-app -reloading
Funciona perfecto, sin depuración con bifurcación, recarga habilitada, sin error de consola después de volver a cargar y todos los puntos de interrupción funcionan incluso después de los cambios de código.
Me tomé la libertad de informar este problema a Grails .