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

时间:2014-09-10 00:56:22

标签: 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中配置了会话工厂和数据源,并尝试在我的main方法中构建配置:

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

我已经尝试在我的Build Path和WEB-INF / lib中直接添加hibernate-commons-annotion jar,但是没有运气

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

1 个答案:

答案 0 :(得分:14)

显然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