有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVAlang.NoClassDefFoundError:org/hibernate/boot/MetadataBuilder

我在部署我的应用程序时出现了这个奇怪的错误,但所需的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

我甚至检查了战争,罐子就在战争里面

enter image description here

搜索Ctrl+Shift+T时,我发现:

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

org.hibernate.boot.MetadataBuilder 

共 (2) 个答案

  1. # 1 楼答案

    您使用了错误的版本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
    
  2. # 2 楼答案

    1)休眠状态下DTD的头部。配置。xml必须为以下格式:

    `<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration SYSTEM 
    "classpath:/org/hibernate/hibernate-configuration-3.0.dtd">
    

    `

    2)如果你已经冬眠了。配置。/WEB-INF中的xml将其删除并放置在/src/main/resources中

    3)最后,你必须在网上写几行。调用hibernate的xml文件如下所示:

    `<context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>   
            classpath:hibernate.cfg.xml                     
            </param-value>
        </context-param>`
    

    我希望它停止。赫尔曼,莫桑比克