【发布时间】:2014-10-23 16:39:07
【问题描述】:
当我使用 grails run-app 时,我的应用程序运行良好,但是当我尝试使用带有 run-war 的 war 文件运行时,我收到以下错误:
我已经在堆栈上尝试了这里提出的一些解决方案,但都没有解决问题。
跟踪中显示的包/类来自我的域类之一:
嵌套异常是 java.lang.NoClassDefFoundError: gneellaan/Ecf
gneellaan = package 和 Ecf = domain class
|Running Grails application
Error |
SLF4J: Class path contains multiple SLF4J bindings.
Error |
SLF4J: Found binding in [jar:file:/C:/grails-2.4.2/dist/grails-plugin-log4j-2.4.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Error |
SLF4J: Found binding in [jar:file:/C:/Grails/gneellaan/target/work/tomcat/webapps/gneellaan/WEB-INF/lib/grails-plugin-log4j-2.4.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Error |
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
Error |
SLF4J: Actual binding is of type [org.slf4j.impl.GrailsSlf4jLoggerFactory]
2014-10-23 14:28:08,255 [localhost-startStop-1] ERROR context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: gneellaan/Ecf
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: gneellaan/Ecf
at java.lang.Class.forName(Class.java:340)
... 4 more
Caused by: java.lang.ClassNotFoundException: gneellaan.Ecf
... 5 more
2014-10-23 14:28:08,257 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener - Error initializing the application: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: gneellaan/Ecf
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: gneellaan/Ecf
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: gneellaan/Ecf
at java.lang.Class.forName(Class.java:340)
... 4 more
Caused by: java.lang.ClassNotFoundException: gneellaan.Ecf
... 5 more
2014-10-23 14:28:08,258 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener - Error initializing Grails: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: gneellaan/Ecf
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: gneellaan/Ecf
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: gneellaan/Ecf
at java.lang.Class.forName(Class.java:340)
... 4 more
Caused by: java.lang.ClassNotFoundException: gneellaan.Ecf
... 5 more
Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: gneellaan/Ecf
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: gneellaan/Ecf
at java.lang.Class.forName(Class.java:340)
... 4 more
Caused by: java.lang.ClassNotFoundException: gneellaan.Ecf
... 5 more
Error listenerStart
Context [/gneellaan] startup failed due to previous errors
The web application [/gneellaan] registered the JDBC driver [org.h2.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
The web application [/gneellaan] registered the JDBC 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.
The web application [/gneellaan] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak.
|Server running. Browse to http://localhost:9091/gneellaan
|Server running. Browse to http://localhost:9091/gneellaan
【问题讨论】:
标签: tomcat grails groovy war slf4j