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中。
使用其中任何一个。
- Hibernate多租户在运行时创建模式
- sessionfactory.openSession()和sessionfactory.openStatelessSession()之间的区别?
- 指定全局EhCache容量
- 在hibernate中插入大量记录的最佳方法
- 从Spring MVC XML文件迁移到javaconfig。 我真的迷失了我的数据库XML文件
- 带有JPA + Hibernate(或类似)和Apache Derby嵌入式DB的Java独立应用程序
- hibernate的替代品
- Hibernate order by nulls last
- HTTP状态405 – 不支持请求方法“POST”(Spring MVC)