我在部署我的应用程序时遇到了这个奇怪的错误,但所需的 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 里面
搜索 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/