Tôi gặp vấn đề với một ứng dụng grails mà tôi đang làm việc và tôi không thể tìm ra nó. Đó là một ứng dụng grails 2.0 sẽ chạy trên Debian ổn định với Tomcat7. Vì vậy, tôi đã xây dựng tệp chiến tranh và triển khai nó cho Tomcat. Ngay sau khi tôi bắt đầu nó, tôi nhận được dữ liệu ghi nhận sau trong logfile Tomcat (catalina.out):"SEVERE: Error listenerStart" khi cố gắng khởi động Grails App trong 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.
tôi đã cố gắng làm cho sản lượng một chút tiết hơn bằng cách tăng Tomcats LogLevel để FINEST nhưng điều đó không' t cho tôi biết thêm thông tin. Ngoài ra, tôi đã thay đổi bản tóm tắt của ứng dụng để gỡ lỗi, nhưng điều đó cũng không giúp được gì.
Trên Tomcat địa phương, mọi thứ hoạt động tốt với cùng một cuộc chiến và 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
nhập khẩu 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 = {}
}
Có thể có nhiều lý do và nhiều khả năng là do plugin phụ thuộc yêu cầu API servlet 3.0, chỉ hoạt động cho tomcat 7. Vui lòng cung cấp BuildConfig.groovy và application.properties – Chris
Tôi cũng thấy điều này khi hibernate không thể kết nối với cơ sở dữ liệu. Bạn nên bật ứng dụng loglevel để đăng nhập vào các lớp grails. – chrislovecnm
@chrislovecnm: Tôi đã thử điều đó và chuyển tất cả chúng sang gỡ lỗi nhưng ứng dụng chưa đăng nhập bất kỳ nội dung nào. – Moritz