部署我的应用程序时遇到这个奇怪的错误,但需要的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
我甚至检查战争,罐子在战争中
搜索Ctrl + Shift + T我发现:
org.hibernate.validator.internal.metadata.aggregated.MetaDataBuilder
和
org.hibernate.boot.MetadataBuilder
答案 0 :(得分:1)
您使用的是错误的版本。版本5中提供了org.hibernate.boot.MetadataBuilder
:
$ 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
答案 1 :(得分:0)
1)hibernate.config.xml中的DTD头部必须如下:
`<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
"classpath:/org/hibernate/hibernate-configuration-3.0.dtd">
`
2)如果你有/ WEB-INF中的hibernate.config.xml将其删除并放在/ src / main / resources中;
3)最后,你必须在web.xml文件中写一些行,你可以在其中调用hibernate,如下所示:
`<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:hibernate.cfg.xml
</param-value>
</context-param>`
我希望它能够停止。赫尔曼,莫桑比克