当前位置: 首页 > 知识库问答 >
问题:

noClassDefFounderRorr:org/hibernate/cfg/annotationconfiguration

聂涛
2023-03-14

我创建了一个web动态项目,并希望使用hibernate

然后,我使用Hibernate代码生成生成类代码,并创建了一个类HibernateUtil,在其中初始化SessionFactory

public class HibernateUtil {
    private static final SessionFactory sessionFactory = buildSessionFactory();
    
    private static SessionFactory buildSessionFactory(){
        try{
            SessionFactory sessionFactory = 
                    new AnnotationConfiguration().configure().buildSessionFactory();
            return sessionFactory;
        }catch(Exception ex){
            ex.printStackTrace();
            throw new ExceptionInInitializerError(ex);
        }
    }
    
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
    
    public static void shutdown() {
        getSessionFactory().close();
    }
}

和另一个类HibernateSessionFactoryListener:

public class HibernateSessionFactoryListener implements ServletContextListener{

    @Override
    public void contextInitialized(ServletContextEvent arg0) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        System.out.println("\n Context Initilaise \n");
    }

    @Override
    public void contextDestroyed(ServletContextEvent arg0) {
        HibernateUtil.shutdown();
        System.out.println("\n Context Detruit \n");
    }

}
java.lang.NoClassDefFoundError: org/hibernate/cfg/AnnotationConfiguration
    at com.hibernate.HibernateUtil.buildSessionFactory(HibernateUtil.java:28)
    at com.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:11)
    at com.hibernate.HibernateSessionFactoryListener.contextInitialized(HibernateSessionFactoryListener.java:12)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ClassNotFoundException: org.hibernate.cfg.AnnotationConfiguration
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    ... 12 more

这是我的Java构建路径:

共有1个答案

谭正谊
2023-03-14

在Hibernate3.6中,“org.Hibernate.cfg.annotationconfiguration”是不推荐的,它的所有功能都移到了“org.Hibernate.cfg.configuration”。因此,您可以安全地用“Configuration”类替换“AnnotationConfiguration”

来源:http://www.mkyong.com/hibernate/hibernate-the-type-annotationconfiguration-is-deprecated/

 类似资料:
  • 当我试图启动Hibernate时,我得到了这个错误。我是一个冬眠新手,所以希望有人能指出我在CFG上犯的错误。我包括了这个错误,希望它是一个简单的修复,谢谢。 由:org.xml.sax.SaxParseException引起;亚麻编号:14;专栏编号:89;必须为元素类型“property”声明属性“value”。在com.sun.org.apache.xerces.internal.util.

  • 问题内容: 我正在尝试在Tomcat中进行部署时在Eclipse中使用Hibernate进行初始设置。 我遇到以下问题: 我已经在线浏览了我的问题,并且我知道这与项目类路径有关。 我已在我的项目中添加了一个用户库,其中包含hibernate下载中“必需”目录下的所有jars,但这似乎不起作用。 请在这里找到我的项目的屏幕截图: 问题答案: 您收到错误消息是因为hibernate库对Tomcat不可

  • 我目前被困在我的项目与一个奇怪的java.lang.NoClassDefFoundError: org/hiberNate/cfg/配置异常。 我得到了这个异常行:SessionFactory sesionFactory=new Configsion()。配置(xml\hibernate.cfg.xml)。BuildSessionFactory(); 是的,我有lib文件夹中的hiberNate

  • 我在Wildfly10中部署ear时遇到了以下异常。安装了Apapter,因此ear中不包含JAR&不设置依赖项。 由:java.lang.noClassDefFounderror:org/keycloak/keycloakprincipal由:java.lang.classNotfoundexception:org.keycloak.keycloakprincipal由[Module\“depl

  • 我试图使用Apache POI阅读Excel,它是在Karaf中作为bundle部署的。 根据订单使用的POI版本: null

  • abbr 命令行 au autocmd setl setlocal sw shiftwidth ts tabstop sts softtabstop fdm foldmethod fdl foldlevel 文档 req: requirements req-dev: development requirements tag: description tags dep: dependencies 安