这是我第一次使用Hibernate并且能够在本地计算机上运行所有内容,但是当我将我的网站部署到我教授的tomcat Web服务器时,我收到以下错误消息。我在UsersHelper构造函数中所做的就是从HibernateUtils中的SessionFactory获取会话。
以下是HibernateUtil:http://www.copypastecode.com/173998/
和UsersHelper:http://www.copypastecode.com/174002/
org.apache.jasper.JasperException:在第35行处理JSP页面/users.jsp时发生异常
32: try{
33:
34:
35: UsersHelper u = new UsersHelper();
36:
37: List<Users> userList = u.getAllUsers();
38:
堆栈跟踪:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
根本原因
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.myworkspace.hbconnect.HibernateUtil
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.users_jsp._jspService(users_jsp.java:281)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
根本原因
java.lang.NoClassDefFoundError: Could not initialize class org.myworkspace.hbconnect.HibernateUtil
org.myworkspace.hbconnect.UsersHelper.<init>(UsersHelper.java:19)
org.apache.jsp.users_jsp._jspService(users_jsp.java:241)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
答案 0 :(得分:0)
java.lang.NoClassDefFoundError: Could not initialize class org.myworkspace.hbconnect.HibernateUtil
运行时类路径中缺少所提到的类。它必须在运行时类路径中作为独立的类文件( .class)或打包在JAR文件( .jar)中。
默认情况下,运行时类路径会覆盖webapp的myWebapp/WEB-INF/lib
和myWebapp/WEB-INF/classes
文件夹。
任何第三方特定于网络应用的JAR
文件都应放在myWebapp/WEB-INF/lib
中。任何特定于webapp的类(servlet等)都应该放在myWebapp/WEB-INF/classes
中。
检查部署时是否放置了正确的.class
文件和.jar
。
希望这会有所帮助。