我正在尝试运行我的grails项目,我从2.3.5升级到2.4.4。 在尝试运行它之后,我收到了这些错误:
|Running Grails application
context.GrailsContextLoaderListener Error initializing the application: org/codehaus/groovy/grails/commons/ConfigurationHolder
java.lang.NoClassDefFoundError: org/codehaus/groovy/grails/commons/ConfigurationHolder
at grails.plugin.hibernate3.HibernatePluginSupport$__clinit__closure1.doCall(HibernatePluginSupport.groovy:129)
at grails.spring.BeanBuilder.invokeBeanDefiningClosure(BeanBuilder.java:754)
at grails.spring.BeanBuilder.beans(BeanBuilder.java:584)
at grails.spring.BeanBuilder.invokeMethod(BeanBuilder.java:527)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.grails.commons.ConfigurationHolder
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:425)
... 8 more
Error |
Forked Grails VM exited with error
答案 0 :(得分:2)
基于Grail的迁移文档,看起来他们已经从2.4中删除了ConfigurationHolder。
您需要更新hibernate插件。
来自他们的文件:
静态持有人类以下已弃用的类已经过了 从Grails 2.4.x中移除:
org.codehaus.groovy.grails.commons.ApplicationHolder org.codehaus.groovy.grails.commons.ConfigurationHolder org.codehaus.groovy.grails.plugins.PluginManagerHolder org.codehaus.groovy.grails.web.context.ServletContextHolder org.codehaus.groovy.grails.compiler.support.GrailsResourceLoaderHolder 如果您或您安装的任何插件正在使用这些类 将得到编译错误。可以通过更新来纠正问题 改为使用新插件并使用grails.util.Holders。
如果您的应用程序使用jquery插件,则需要更新到 版本1.11.0.2或更高版本作为插件的先前版本使用 ApplicationHolder类的。如果您的应用程序使用资源 您需要像以前一样更新到1.2.7或更高版本的插件 该插件的版本使用了ConfigurationHolder类。
迁移文档:http://grails.github.io/grails-doc/2.4.x/guide/upgradingFrom23.html
答案 1 :(得分:-1)
如果您正在使用Eclipse,请转到Java构建路径,订单和导出,勾选所有库,然后执行应用程序