grails jrebel spring-loaded grails-3.1

Deshabilitar la recarga en Grails 3.1/cargado por resorte



jrebel spring-loaded (3)

Intento desactivar la recarga / recompilación automática en Grails 3.1 ya que me gustaría usar JRebel en su lugar. Encuentro que la carga de resorte es bastante limitada, pero lo más importante es que constantemente falla con

File /Users/engrun/Development/projects/grailsPoc/grails-app/controllers/grailsPoc/HelloController.groovy changed, recompiling... java.lang.IllegalAccessException: Class org.springsource.loaded.ReloadableType can not access a member of class org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy with modifiers "public"

He intentado todo tipo de configuraciones que he encontrado disponibles, sin embargo, ninguna realmente deshabilita la recarga cuando se ejecuta el comando run-app

Yo he tratado

disable.auto.recompile=true

en la línea de comandos, GRAILS_OPTS, y en application.yml

He intentado el

-noreloading

bandera, ambos en la línea de comando y GRAILS_OPTS.

De acuerdo con los documentos, esto debería haber funcionado https://grails.org/wiki/Auto%20Reloading

Y la respuesta aceptada como la correcta aquí ¿cómo puedo desactivar la recarga en una aplicación Grails 3.0.0? tampoco funciona

¿Alguien ha logrado inhabilitar la recarga automática en Grails 3.1? (¿Y configuró Grails 3 con éxito con JRebel?)


En las aplicaciones 3.x puede desactivar Spring Loaded agregando

grails { agent { enabled = false } }

a build.gradle


Para habilitar el proyecto JRebel para Grails 3, necesita configurar el argumento -javaagent con la ruta correspondiente, el archivo jrebel.jar in build.gradle:

tasks.withType(JavaExec) { jvmArgs "-javaagent:jrebel.jar" }


La respuesta de Burt está relacionada con la pregunta correcta -> cómo deshabilitar la autorrecarga.

Sin embargo, la respuesta de Anton es relevante para el segundo / problema relacionado en hacer que Jrebel funcione.

Ahora tengo un ejemplo de trabajo, que funciona con ambos

gradle bootRun -Pjrebel -> disable springloaded, using jrebel gradle bootRun -> uses springloaded

y

grails grails> run-app

Mi configuración es una combinación de

export GRAILS_OPTS="-javaagent:$JREBEL_HOME/jrebel.jar -Drebel.base=/Users/<username>/.jrebel"

y build.gradle

rebel { alwaysGenerate = false showGenerated = true //rebelXmlDirectory = "build/classes" } if (project.hasProperty(''jrebel'')) { bootRun.dependsOn(generateRebel) grails { agent { enabled = false } } tasks.withType(JavaExec) { jvmArgs "-javaagent:jrebel.jar" jvmArgs "-Xverify:none" } }

Gracias @ burt-beckwith y @ anton-arhipov por su aporte!