java - NoClassDefFoundError : org/hibernate/annotations/common/reflection/MetadataProvider

标签 java hibernate maven

我在 pom.xml 中定义了依赖

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-commons-annotations</artifactId>
    <version>3.3.0.ga</version>
</dependency>

我在 C:/User/.m2/repository/org/hibernate/hibernate-commons-annotations/3.3.0.ga 中有上面的 jar

我在 hibernate.cfg.xml 中配置了 session 工厂和数据源,并尝试在我的主要方法中构建配置:

Configuration configuration = new Configuration().configure();
StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
SessionFactory sessionFactory = configuration.buildSessionFactory(builder.build());
Session session = sessionFactory.openSession();

我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: 
    org/hibernate/annotations/common/reflection/MetadataProvider

我已经尝试在我的构建路径以及我的 WEB-INF/lib 中直接添加 hibernate-commons-annotion jar,但还没有成功

这是以相同的方式设置并在我构建的另一个应用程序上正常运行,它不需要导入注释 jar。 有什么想法吗?

最佳答案

显然 3.3.0.ga 是一个“错误”,必须更新依赖项才能使用 3.2.0.Final

<dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>3.2.0.Final</version>
    </dependency>

来源:https://hibernate.atlassian.net/browse/ANN-711

关于java - NoClassDefFoundError : org/hibernate/annotations/common/reflection/MetadataProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25755760/

相关文章:

java - Android ImageView 选择标记

java - 如何在Java eclipse中集成Maven 1.0

java - CrudRepository.save(Iterable<S>) 是原子的吗?

java - Hibernate - 从模式创建类

java - 将 Maven Artifact 映射到 Debian 包

java - 当没有找到测试结果时,如何跳过 Allure 报告生成?

java - 如何使用 Maven 构建从属性文件中删除注释?

java - JNI 检测到 ClassNotFoundException - 但类在 .apk/.dex 中可见?

java - 将 Jython PythonInterpreter 中的参数添加到 "execfile"函数

java - JPA/hibernate : ManyToMany delete relation on Join Table