gpt4 book ai didi

java - JSF 2.0 和 Hibernate 错误

转载 作者:行者123 更新时间:2023-12-02 08:30:35 25 4
gpt4 key购买 nike

我将应用程序部署到官方服务器并开始收到此错误:

Stacktrace: 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)

root cause

javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class app.HibernateUtil org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.ajax.search_jsp._jspService(search_jsp.java:67) 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)

root cause

java.lang.NoClassDefFoundError: Could not initialize class app.HibernateUtil app.PersistanceHelper.(PersistanceHelper.java:23) app.SearchBean.(SearchBean.java:26) org.apache.jsp.ajax.search_jsp._jspService(search_jsp.java:54) 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)

在部署之前,应用程序运行良好。我的 HibernateUtil 类是由 Netbeans 向导生成的。我看不出问题出在哪里。我花了一些时间在谷歌中搜索类似的问题,但找到的答案(缺少 jar、拼写错误等)不适用于此解决方案,因为它适用于我的 PC,只是不适用于官方服务器。对此有什么想法吗?如果需要的话我可以添加其余的来源。 Apache Tomcat 日志不包含任何错误。谢谢你的帮助。

最佳答案

我认为您的类位于类路径上,但在尝试加载类时ClassLoader遇到错误(如消息所示)。当类具有使用 Class 无法被 ClassLoader 找到的 Class 的静态 block 或静态成员时,通常会发生这种情况。

在生成的 HibernateUtil.java 的特定情况下,它应该具有如下内容:

static {
URL myurl = Thread.currentThread().getContextClassLoader().getResource("/some/path/to/hibernate.cfg.xml");
sessionFactory = new Configuration().configure(myurl).buildSessionFactory();
}

所以:

  • 确保 hibernate 配置文件按预期存在。
  • 确保 Hibernate jar 存在于目标计算机的类路径中。
  • 也许可以在静态 block 中添加 try { ... } catch (Throwable t) { ... } 来记录错误。

关于java - JSF 2.0 和 Hibernate 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3500101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com