2013-05-28 34 views
5

请帮助我,我运行我的Grails应用程序时出错。Grails 2.3 - 运行应用程序不工作

我的应用程序在Grails 2.1.4中工作。

我使用

Groovy 2.1.* 
Java 1.7 
Tomcat 7.0.37 

我升级我的应用程序从Grails的2.1.4到2.3.0.M1。之后我得到了一些错误是这样的:

| Loading Grails 2.3.0.M1 
| Configuring classpath 
| Error SLF4J: Class path contains multiple SLF4J bindings. 
| Error SLF4J: Found binding in [jar:file:/home/testuser/.m2/repository/org/grails/grails-plugin-log4j/2.3.0.M1/grails-plugin-log4j-2.3.0.M1.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
| Error SLF4J: Found binding in [jar:file:/home/testuser/.m2/repository/org/slf4j/slf4j-log4j12/1.6.6/slf4j-log4j12-1.6.6.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] 
| Configuring classpath. 
| Environment set to development..... 
| Packaging Grails application..... 
| Compiling 143 source files. 
Copying properties file... 
| Compiling 143 source files..... 
Updated web.xml for session information 
| Running Grails application 
/mycompany/dev/testuser/ws2/myapp\..\sub-app\deploy\dev\log4j.xml 
| Running Grails application. 
| Error SLF4J: Class path contains multiple SLF4J bindings. 
| Error SLF4J: Found binding in [jar:file:/home/testuser/.m2/repository/org/grails/grails-plugin-log4j/2.3.0.M1/grails-plugin-log4j-2.3.0.M1.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
| Error SLF4J: Found binding in [jar:file:/home/testuser/.m2/repository/org/slf4j/slf4j-log4j12/1.6.6/slf4j-log4j12-1.6.6.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] 
| Server running. Browse to http://localhost:8080/myapp 
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 org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: myapp.RefreshCustomerMatrixJob 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: myapp.RefreshCustomerMatrixJob 
    ... 5 more 
Caused by: java.lang.ClassNotFoundException: myapp.RefreshCustomerMatrixJob 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    ... 5 more 
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 org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: myapp.RefreshCustomerMatrixJob 
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 org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: myapp.RefreshCustomerMatrixJob 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: myapp.RefreshCustomerMatrixJob 
    ... 5 more 
Caused by: java.lang.ClassNotFoundException: myapp.RefreshCustomerMatrixJob 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    ... 5 more 
| Error Exception in thread "Thread-7" 
| Error java.lang.RuntimeException: Forked Grails VM exited with error 
| Error  at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess$_attachOutputListener_closure5.doCall(ForkedGrailsProcess.groovy:220) 
| Error  at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess$_attachOutputListener_closure5.doCall(ForkedGrailsProcess.groovy) 
| Error  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
| Error  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
| Error  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
| Error  at java.lang.reflect.Method.invoke(Method.java:601) 
| Error  at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1243) 
| Error  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) 
| Error  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) 
| Error  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085) 
| Error  at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110) 
| Error  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909) 
| Error  at groovy.lang.Closure.call(Closure.java:411) 
| Error  at groovy.lang.Closure.call(Closure.java:405) 
| Error  at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess.attachOutputListener(ForkedGrailsProcess.groovy:228) 
| Error  at org.grails.plugins.tomcat.fork.ForkedTomcatServer.attachOutputListener(ForkedTomcatServer.groovy) 
| Error  at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess.attachOutputListener(ForkedGrailsProcess.groovy) 
| Error  at org.grails.plugins.tomcat.fork.ForkedTomcatServer.attachOutputListener(ForkedTomcatServer.groovy) 
| Error  at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess.fork(ForkedGrailsProcess.groovy:172) 
| Error  at org.grails.plugins.tomcat.fork.ForkedTomcatServer.fork(ForkedTomcatServer.groovy) 
| Error  at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess.fork(ForkedGrailsProcess.groovy:141) 
| Error  at org.grails.plugins.tomcat.fork.ForkedTomcatServer.fork(ForkedTomcatServer.groovy) 
| Error  at org.grails.plugins.tomcat.fork.ForkedTomcatServer$_startSecure_closure1.doCall(ForkedTomcatServer.groovy:122) 
| Error  at org.grails.plugins.tomcat.fork.ForkedTomcatServer$_startSecure_closure1.doCall(ForkedTomcatServer.groovy) 
| Error  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
| Error  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
| Error  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
| Error  at java.lang.reflect.Method.invoke(Method.java:601) 
| Error  at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1243) 
| Error  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) 
| Error  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) 
| Error  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085) 
| Error  at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110) 
| Error  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909) 
| Error  at groovy.lang.Closure.call(Closure.java:411) 
| Error  at org.grails.plugins.tomcat.fork.ForkedTomcatServer$_startSecure_closure1.call(ForkedTomcatServer.groovy) 
| Error  at groovy.lang.Closure.call(Closure.java:405) 
| Error  at org.grails.plugins.tomcat.fork.ForkedTomcatServer$_startSecure_closure1.call(ForkedTomcatServer.groovy) 
| Error  at groovy.lang.Closure.run(Closure.java:492) 
| Error  at org.grails.plugins.tomcat.fork.ForkedTomcatServer$_startSecure_closure1.run(ForkedTomcatServer.groovy) 
| Error  at java.lang.Thread.run(Thread.java:722) 
+0

无法找到'myapp.RefreshCustomerMatrixJob' –

+0

在我的工作区没有这样的文件。请任何其他建议。 – Sun

+2

这是错误的原因,不是一个建议。您已将应用程序配置为使用具有此类名称的bean –

回答

4

我在How to migrate Grails 2.1 to Grails 2.3 application回答一个类似的问题。总结一下,将Config.groovy & BuildConfig.groovy与新的Grails 2.3应用程序的默认版本进行比较。确保你的依赖是在BuildConfig.groovy而不是application.propertiesTomcat的休眠脚手架插件是正确的版本,并有正确的范围(建立Tomcat插件,运行时间休眠)。

1

我看到了这条线在错误日志:

Error Exception in thread "Thread-7" 
| Error java.lang.RuntimeException: Forked Grails VM exited with error 

试评出部分grails.project.fork的BuildConfig.groovy

1

我有同样的错误,并且问题是代码中的文件名和类名之间的字母大小写区别。确保您的课程名称和文件名称完全匹配。

比如我有我的文件名作为OAuthCallBackController.groovy和类名OauthCallBackController(注意小写字母“A”)

相关问题