MissingMethodException in Grails Bootstrap su Tomcat
-
29-10-2019 - |
Domanda
dopo aver aggiornato i plug-in di sicurezza della mia app grails, ricevo il seguente errore durante la distribuzione su tomcat:
2012-01-17 09: 13: 04,970 [pool-2-thread-1] ERRORE context.ContextLoader - Inizializzazione del contesto non riuscita org.springframework.beans.factory.access.BootstrapException: errore durante l'esecuzione dei bootstrap;l'eccezione annidata è org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: Nessuna firma del metodo: statico org.example.SecRole.findByAuthority () è applicabile per i tipi di argomento: (java.lang.String) valori: [ROLE_USER]
l'app funziona bene quando viene testata tramite run-app.
la classe SecRole è stata generata automaticamente dal plugin spring security.
Avevo già distribuito l'app sullo stesso server senza problemi quando utilizzavo una versione precedente del plug-in Spring Security.
mi sono battuto la testa per ore.idee molto apprezzate.
Soluzione 4
Come da commento di Peter sopra, l'aggiornamento a Grails 2.0 ha risolto il problema che ho descritto sopra.Tuttavia, in seguito mi sono imbattuto in una serie di problemi di aggiornamento con l'app.
Altri suggerimenti
Questo è un bug nella v1.2.7 del plugin.Ho rilasciato la v1.2.7.1 per risolverlo;puoi anche eseguire il downgrade alla v1.2.6.
Stai utilizzando la classe utente e ruolo di Spring Security?
Hai provato a creare un nuovo progetto Grails e installarlo con l'app di esempio per la richiesta di ferie per provarlo?
Infine, posso sapere quale versione di Grails e sistema operativo utilizzi?
Saluti,
Chee Kin
Il mio prodotto Env: Tomcat 7, Fedora, Grails 1.3.7, activiti-spring-security 0.4.6, spring-security-core 1.2.7 activiti 5.8.2
Dev Env: Mac OS 10.6, Grails 1.3.7, activiti-spring-security 0.4.6, spring-security-core 1.2.7, activiti 5.8.2
Ho installato un'app per la richiesta di ferie su un progetto grails fresco e funziona bene quando eseguo utilizzando grails run-app (sia in modalità sviluppo che in modalità prod).