2015-07-06 49 views
-1

从hibernate 3迁移到hibernate 4.我正面临下面给出的问题。休眠升级时的ClassNotFoundException

SEVERE: Exception sending context initialized event to listener instance of class com.restor.application.dp.dao.core.db.HibernateListener 
java.lang.ExceptionInInitializerError 
at com.razorsight.application.dp.dao.core.db.HibernateUtil.<clinit>(HibernateUtil.java:49) 
at com.razorsight.application.dp.dao.core.db.HibernateListener.contextInitialized(HibernateListener.java:20) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:983) 
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1660) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
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.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager 
at com.razorsight.application.dp.dao.core.db.HibernateUtil.<clinit>(HibernateUtil.java:40) 
... 14 more 
Caused by: java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.ReflectionManager 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) 
... 15 more 

我无法以任何方式解决它。我将这些罐子复制到项目中,并在构建路径中引用它们。另外,在ANT中更改引用的构建XML

引用的类存在于构建路径中,并存在于war-> WEB-INF-> lib中。仍然在服务器启动时出现此问题。

任何帮助将非常感激。

+0

你导入了hibernate jar吗? – greenhorn

+0

@greenhorn是的。罐子就位。!我的意思是,这些罐子被复制并在课程路径 –

+0

@greenhorn中引用。你低估了这个问题? –

回答

0

请确保您的类路径中没有“org.hibernate.annotations.common.reflection.ReflectionManager”的重复项。

如果您使用的是Maven,那么这将帮助您maven-duplicate-finder-plugin

+0

我不使用Maven,不幸的是。使用Ant。!任何方式来解决这个问题? –

+0

如果您正在使用Eclipse,请尝试按Ctrl-Shift-T并搜索ReflectionManager。可能会揭穿。 – Garry

+0

我可以看到ReflectionManager,当你尝试看到你的建议.. –