当前位置: 首页 > 知识库问答 >
问题:

创建在类路径资源中定义的名为“entityManagerFactory”的bean时出错:创建名为“entityManagerFactory”的bean时出错

金宣
2023-03-14

我创建了一个Spring App,我使用hibernate进行逆向工程,从MySQL Db生成java类。之后,我想使用这个类来实现存储库,但我有这个问题:

组织。springframework。豆。工厂BeanCreationException:创建名为“entityManagerFactory”的bean时出错,该bean在类路径资源[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]中定义:调用init方法失败;嵌套异常为java。lang.NoClassDefFoundError:javax/xml/bind/JAXBException

这是我的身材。gradle文件

js lang-js prettyprint-override">plugins {
    id 'org.springframework.boot' version '2.4.4'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
    
    id "org.hibernate.gradle.tools" version "1.2.5"
        
}

group = 'it.unisalento'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {

    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'mysql:mysql-connector-java'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.javassist:javassist:3.27.0-GA'
    
    
    compile 'org.hibernate:hibernate-core:5.2.11.Final'
    compile 'org.hibernate:hibernate-entitymanager:5.2.11.Final'
    compile 'mysql:mysql-connector-java'
    compile 'org.apache.commons:commons-dbcp2:2.0.1'
    
    
}

test {
    useJUnitPlatform()
}

import org.hibernate.gradle.tools.*

 

database{
    catalog =  ["myalertdb": new Schema()]
    basePackage = "it.unisalento.myalertapp.app.domain"
    port = 3306
    url = "jdbc:mysql://127.0.0.1/myalertdb?serverTimezone=GMT"
    user = "root"
    password = "database123"
    dialect = "org.hibernate.dialect.MySQLDialect"
    driver = "com.mysql.cj.jdbc.Driver"
}

共有1个答案

公沈浪
2023-03-14

看到这一点的一个原因是您正在java 9或更高版本上运行。然后您需要将jaxb-api.jar添加到您的类路径中。如果您正在运行maven,您可以将以下内容添加到您的pom.xml:

<dependency>
    <groupId>javax.xml.bind</groupId>
     <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
 </dependency>

请参见https://www.jesperdj.com/2018/09/30/jaxb-on-java-9-10-11-and-beyond/有关此的更多详细信息。

 类似资料:
  • 我有一个带有Hibernate的spring boot应用程序。spring boot 2.13分,Java 11分。 当我启动应用程序时,我得到一个异常: 下面是我的pom.xml: 我尝试了很多事情:spring boot数据jpa多个数据源entityManagerFactory错误创建在类路径资源中定义名称为'entityManagerFactory'的bean错误:调用init方法失败

  • 我试图在我的应用程序中使用JPA,但当我添加JPA并启动应用程序时,我遇到了这个错误。我在stackoverflow和其他网站上看到了与相同错误相关的问题,建议了许多答案,但没有运气解决这个错误。。我不明白我哪里做错了。 POM。XML 实体类 存储库类 控制器类 我得到的错误是 我试过了 创建在类路径资源中定义的名为“entityManagerFactory”的bean时出错:调用init方法失

  • 在我的Spring应用程序中,我有这些问题。有人能帮我吗? 我在pom.xml上添加了一些东西,但是应用程序没有启动,有很多错误。 启动应用程序上下文时出错。若要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2019-01-26 14:58:17.003 错误 14580 --- [ 重新启动主屏幕] o.s.boot.Spring 应用程序: 应用程序运行失败

  • 我有一个数据库配置类来连接我的Spring网络服务和数据库。我正在使用Spring引导,使它成为独立的应用程序。 这是我的课 每次我尝试运行我的代码,它都会抛出异常: 据我所知,有一个缺失的依赖项,但我不知道是哪个。或者问题是别的什么?这是我在pom.xml的依赖项 你知道问题的原因和解决方法吗?

  • 嗨,我试图在docker上运行postgres映像时使用kotlin和Spring boot构建一个应用程序,但我一直收到此错误 ..... 这是我的实体 这是我的存储库 这是我的控制器 这些是我的财产 为了我的依赖 我的问题是:这个错误意味着什么?我做错了什么?

  • 我使用flyway迁移db,定义为spring。jpa。冬眠ddl auto=validate,从空数据库开始。编译Maven项目时,出现以下错误: 创建在类路径资源[org/springframe/boot/自动配置/orm/jpa/HibernateJpaConfiguration.class]中定义的名为entityManagerFactory的bean时出错:调用init方法失败; 详细错