java.lang.ClassNotFoundException: org.hibernate.HibernateException [英] java.lang.ClassNotFoundException: org.hibernate.HibernateException

查看:40
本文介绍了java.lang.ClassNotFoundException: org.hibernate.HibernateException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在运行一个带有休眠功能的 Web 应用程序,但遇到了这个异常.有什么帮助吗?

I am running a web application with hibernate and got stuck at this exception. Any help please?

java.lang.ClassNotFoundException: org.hibernate.HibernateException在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)在 com.forum.dao.TopicDAO.findAll(TopicDAO.java:43)在 com.forum.servlets.Accueil.doGet(Accueil.java:23)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:621)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)在 org.apache.tomcat.util.net.JioEndpoint$SocketProcessor.run(JioEndpoint.java:312)在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)在 java.lang.Thread.run(Unknown Source)

java.lang.ClassNotFoundException: org.hibernate.HibernateException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at com.forum.dao.TopicDAO.findAll(TopicDAO.java:43) at com.forum.servlets.Accueil.doGet(Accueil.java:23) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

这里是TopicDAO.findALL()

public static List<Topic> findAll() {

    Session  s = HibernateUtils.getSession(); //TopicDAO.java:43
    Transaction tx = s.beginTransaction();
    List<Topic> objects = null;

    Query q = s.createQuery("from Topic");
    objects = q.list();
    tx.commit();

    return objects;
}

而且,这是我的 servlet.doGet()

public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
    HttpSession session = request.getSession();

    TopicDAO td = new TopicDAO();
    List<Topic> listTopics = td.findAll();

    session.setAttribute( ATT_LIST_TOPICS, listTopics );

    this.getServletContext().getRequestDispatcher( ACCUEIL ).forward( request, response );
}

这是我添加的 Hibernate 库:

Here is my added Hibernate libraries:

推荐答案

说明:

  • ClassDefNotFound 异常意味着您的程序无法从引用的库中找到所需的 .class 文件.

  • A ClassDefNotFound exception means that your program was unable to find a required .class file from the referenced libraries.

在您的情况下,hibernateX.jar 文件未打包在您的战争文件.

In your case the hibernateX.jar file isn't packaged inside your war file.

你需要做的是将它添加到你的WEB-INF/lib文件夹中战争文件.

What you need to do is to add it to the WEB-INF/lib folder of your war file.

解决方案(使用 IntelliJ):

  1. 打开项目结构

  1. open up project structure

从左侧选项中选择 Artifacts

select Artifacts from the left side options

从 OutputLayout 选项卡中的 war 文件浏览到 WEB-INF/lib

from your war file in the OutputLayout tab browse to WEB-INF/lib

将包含 hibernateX.jar 的库添加到文件夹中

add the library containing hibernateX.jar into the folder

重新部署您的项目.

解决方案(使用 Eclipse):

  1. 只需将 jar 拖放到 WEB-INF/lib

这篇关于java.lang.ClassNotFoundException: org.hibernate.HibernateException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆