java.lang.NoClassDefFoundError : org/hibernate/boot/MetadataBuilder 错误

标签 java hibernate maven spring-mvc jpa

我在部署我的应用程序时遇到了这个奇怪的错误,但所需的 jar 在我的 POM 文件中!!!

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.0.4.Final</version>
</dependency> 

错误在这里:

 Error creating bean with name 'entityManagerFactory' defined in class path resource [fr/telecom/configuration/HibernateConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/boot/MetadataBuilder

我什至检查了 war, jar 在 war 里面

enter image description here

搜索 Ctrl + Shift + T 我发现:

org.hibernate.validator.internal.metadata.aggregated.MetaDataBuilder

org.hibernate.boot.MetadataBuilder 

最佳答案

您使用的版本错误。 org.hibernate.boot.MetadataBuilder 在版本 5 中可用:

$ jar tvf ~/.m2/repository/org/hibernate/hibernate-core/5.0.4.Final/hibernate-core-5.0.4.Final.jar | grep MetadataBuilder

3931 Wed Nov 18 12:22:14 CET 2015 org/hibernate/boot/MetadataBuilder.class

在版本4.3.6.Final中,它是在另一个包中定义的:

$ jar tvf ~/.m2/repository/org/hibernate/hibernate-core/4.3.6.Final/hibernate-core-4.3.6.Final.jar | grep MetadataBuilder

672 Wed Jul 16 16:28:14 CEST 2014 org/hibernate/metamodel/MetadataBuilder.class

关于java.lang.NoClassDefFoundError : org/hibernate/boot/MetadataBuilder 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34028797/

相关文章:

java - 具有特定子句的 Hibernate OneToOne

java - 如何读取自定义 Maven 插件中的 Mojo 名称?

maven - 错误 : Unable to locate tools. jar 。预计在/usr/lib/jvm/java-6-sun-1.6.0.26/lib/tools.jar中找到

java - JFrame 设置的简短编写方式

java - 可重复使用的搜索方法

java - @Autowired 注释无法在 JUnit 类中注入(inject) bean

mysql - 在hibernate中如何设置各种表对象的状态

mysql - hibernate 动态更改数据库以进行维护

java - Scala:检查列表是否为空

java - JSTL 未使用嵌入式 Jetty 和 jetty-console-maven-plugin 进行评估