java.lang.NoClassDefFoundError:设置了org / hibernate / Session hibernate jars

我在新工作中inheritance了Javas的几个项目,但是我在设置方面遇到了一些问题。 我正面临一个研究如此普遍的问题。 “java.lang.NoClassDefFoundError:org / hibernate / Session”,把所有的jar甚至不必要的hibernate映射到classpath中。

我使用tomcat 7,hirbernat 4,jre7。

每个项目都扩展了包含lib文件夹中所有必需jar的compnet。

我是否需要将已经映射过的jar放在这个项目中?

这里的错误是:

@Override public void init(ServletConfig config) throws ServletException { super.init(config); HibernateUtil.currentSession(); } 

类路径:

                                                                                                                                                                                                    

stacktrance:

java.lang.NoClassDefFoundError:org / hibernate / session at br.com.flex4j.servlet.genericActionServlet.init(genericActionServlet.java:29)at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)at at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:175)位于org.apache.catalina的org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) .core.StandardEngineValve.invoke(StandardEngineValve.java:109)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) )org.apache.coytt.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:584)at org.apache.tomcat.util java.lang.Thread.run中的.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:447)(未知来源)由org.apache.catalina.loader中的java.lang.ClassNotFoundException:org.hibernate.Session引起。 webappClassLoader.loadClass(WebappClassLoader.java:1358)在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)… 13更多

2012年6月21日下午3:39:22 org.apache.catalina.core.StandardWrapperValve调用SEVERE:在org.apache.catalina.loader.WebappClassLoader.loadClass上为servlet genericActionServlet java.lang.ClassNotFoundException:org.hibernate.Session分配exception(webappClassLoader.java:1358)位于org.apache的br.com.flex4j.servlet.genericActionServlet.init(genericActionServlet.java:29)的org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)。 catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)位于org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 129)org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)org.apache.catalina.valves.ErrorReportValve .invoke(ErrorReportValve.java:102)org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109)位于org.apache的org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)。 coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:584)atg.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:447)at java.lang.Thread.run(Unknown Source )

编辑:

我的项目的ClassPath: java构建路径”>

根据我的理解,您提供的类路径xml由Eclipse使用,它与您的Web应用程序类路径无关。 你得到NoClassDefFoundError的原因是Tomcat无法找到Hibernate类。 确保您的Web模块具有WEB-INF / lib目录中的所有必需jar。

将所有JARS添加到WEB-INF并在项目上执行构建路径。

要在eclipse中添加jar,您有两个选择:

右键单击项目到属性 – >单击java构建路径 – > configure build path – > Libraries – >并选择add external jars按钮。 它将打开一个窗口,您可以在其中添加所需的所有jar子。

第二个选项是将jar直接粘贴到lib文件夹。 lib文件夹位于Web Content – > WEB-INF – > lib中。

使用其中任何一个。