Tengo un problema con una aplicación de Grails en la que estoy trabajando y no puedo resolverlo. Es una aplicación Grails 2.0 que debe ejecutarse en un Debian estable con un Tomcat7. Así que construí el archivo war y lo implementé en el Tomcat. Tan pronto como lo comienzo, me sale el siguiente resultado del registro en el archivo de registro de Tomcat (catalina.out):"SEVERE: Error listenerStart" al intentar iniciar la aplicación Grails en Tomcat
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
28-Jan-2012 13:02:00 org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
28-Jan-2012 13:02:00 org.apache.catalina.core.StandardContext start
SEVERE: Context [/Gibbons5] startup failed due to previous errors
28-Jan-2012 13:02:00 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/Gibbons5] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
He intentado hacer la salida un poco más detallado mediante el aumento de los Gatos machos nivel de registro en FINEST Pero eso no' Dame más información. También cambié el nivel de registro de la aplicación para depurar, pero eso tampoco ayuda.
En mi Tomcat local todo funciona bien con la misma guerra y un Tomcat7.
BuildConfig.groovy
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.dependency.resolution = {
// inherit Grails' default dependencies
inherits("global") {
}
log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
repositories {
grailsPlugins()
grailsHome()
grailsCentral()
mavenCentral()
}
dependencies {
compile "org.jadira.usertype:usertype.jodatime:1.9"
runtime 'mysql:mysql-connector-java:5.1.18'
}
}
codenarc.reports = {
XMLReport('xml') {
outputFile = 'CodeNarcReport.xml'
title = 'Gibbons5'
}
HTMLReport('html') {
outputFile = 'CodeNarcReport.html'
title = 'Gibbons5'
}
}
codenarc.propertiesFile = 'codenarc.properties'
// cobertura exclusions
coverage {
exclusions = [
'**/BuildConfig*',
'**/*SecurityConfig*'
]
}
application.properties
#Grails Metadata file
#Tue Jan 03 23:21:41 CET 2012
app.context=/
app.grails.version=2.0.0
app.name=Gibbons5
app.servlet.version=2.5
app.version=0.1
plugins.burning-image=0.5.0
plugins.code-coverage=1.2.5
plugins.codenarc=0.16.1
plugins.hibernate=2.0.0
plugins.joda-time=1.3.BUILD-SNAPSHOT
plugins.jquery=1.7.1
plugins.svn=1.0.1
plugins.syntax-highlighter=0.1.4
plugins.tomcat=2.0.0
BootStrap.groovy
importación grails.util.GrailsUtil
class BootStrap {
def baseDataGenerator
def init = { servletContext ->
switch (GrailsUtil.environment) {
case 'development':
log.debug("init() - booting as development")
baseDataGenerator.generateData()
break
case 'production':
log.info("init() - booting as production")
baseDataGenerator.generateData()
break
case 'test':
log.debug("init() - booting as test")
baseDataGenerator.generateData()
break
default:
log.warn("init() - uncovered environment " + GrailsUtil.environment)
}
}
def destroy = {}
}
Puede tener varias razones y muy probablemente esto se deba a una dependencia de plugin que requiere servlet 3.0 API, que solo funciona para tomcat 7. Proporcione su BuildConfig.groovy y su application.properties – Chris
También he visto esto cuando hibernate no puede conectarse a la base de datos Debes subir el nivel de registro de la aplicación para registrar las clases de griales. – chrislovecnm
@chrislovecnm: Intenté eso y los convertí a todos para depurar, pero la aplicación aún no está registrando nada. – Moritz