2016-02-05 15 views
7

Sto provando a disabilitare il ricaricamento/ricompilazione automatica in Grails 3.1 come preferirei usare JRebel. trovo a molla piuttosto limitata, ma ancora più importante è costantemente viene a mancare conDisabilitare il ricaricamento in Grails 3.1/springloaded

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" 

Ho provato tutti i tipi di impostazioni che ho trovato disponibile, tuttavia, nessuno in realtà disabilita ricaricare quando si esegue il comando di marcia-app

ho provato

disable.auto.recompile=true 

sulla linea di comando, GRAILS_OPTS, in application.yml

I aver provato il

-noreloading 

flag, sia su riga di comando che su GRAILS_OPTS.

Secondo documenti, questo dovrebbe hanno lavorato https://grails.org/wiki/Auto%20Reloading

E la risposta accettata come quella corretta qui how can I disable reloading in a grails 3.0.0 app? non funziona neanche.

Qualcuno è riuscito a disabilitare il ricaricamento automatico in Grails 3.1? (e configurato con successo Grails 3 con JRebel?)

risposta

7

In applicazioni 3.x è possibile disattivare caricato a molla con l'aggiunta di

grails { 
    agent { 
     enabled = false 
    } 
} 

al build.gradle.

+1

Grazie! Btw, hai un puntatore al gradle Grails DSL? – runeaen

3

Per abilitare JRebel per Grails 3 del progetto è necessario configurare argomento -javaagent con il percorso relativo alla jrebel.jar nel file di build.gradle:

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

risposta di Burt è corretta relativa alla domanda -> come per disabilitare il autoregamento automatico.

Tuttavia, la risposta di Anton è pertinente al secondo/problema correlato per far funzionare Jrebel.

Ora ho un esempio di lavoro, che funziona sia con

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

e

grails 
grails> run-app 

mio config è una combinazione di

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

e 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" 
    } 
} 

Grazie @ burt-beckwith e @ anton-arhipov per il vostro contributo!

Problemi correlati