gpt4 book ai didi

java - 从 Spring Boot 1.3 升级到 1.4 RC1 时 org.hibernate.internal.SessionFactoryImpl. 抛出的 AbstractMethodError

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:07:13 26 4
gpt4 key购买 nike

我有一个非常简单的 Spring Boot 1.3 应用程序,我正在尝试升级到 1.4 RC1。没有什么不是开箱即用的配置。当我尝试启动应用程序或运行测试时,我得到以下信息:

12:06:27.237 [QUIET] [system.out] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError
12:06:27.237 [QUIET] [system.out] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) ~[spring-beans-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.237 [QUIET] [system.out] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.237 [QUIET] [system.out] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.237 [QUIET] [system.out] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.237 [QUIET] [system.out] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.238 [QUIET] [system.out] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.238 [QUIET] [system.out] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.238 [QUIET] [system.out] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1076) ~[spring-context-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.238 [QUIET] [system.out] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:851) ~[spring-context-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.238 [QUIET] [system.out] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) ~[spring-context-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.238 [QUIET] [system.out] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.0.RC1.jar:1.4.0.RC1]
12:06:27.238 [QUIET] [system.out] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-1.4.0.RC1.jar:1.4.0.RC1]
12:06:27.238 [QUIET] [system.out] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:369) [spring-boot-1.4.0.RC1.jar:1.4.0.RC1]
12:06:27.238 [QUIET] [system.out] at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) [spring-boot-1.4.0.RC1.jar:1.4.0.RC1]
12:06:27.238 [QUIET] [system.out] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1185) [spring-boot-1.4.0.RC1.jar:1.4.0.RC1]
12:06:27.238 [QUIET] [system.out] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1174) [spring-boot-1.4.0.RC1.jar:1.4.0.RC1]
12:06:27.239 [QUIET] [system.out] at com.hightouchinc.notifications.NotificationsApplication.main(NotificationsApplication.java:17) [main/:na]
12:06:27.239 [QUIET] [system.out] Caused by: java.lang.AbstractMethodError: null
12:06:27.239 [QUIET] [system.out] at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:278) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
12:06:27.239 [QUIET] [system.out] at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
12:06:27.239 [QUIET] [system.out] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.9.Final.jar:5.0.9.Final]
12:06:27.239 [QUIET] [system.out] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) ~[spring-orm-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.239 [QUIET] [system.out] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:338) ~[spring-orm-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.239 [QUIET] [system.out] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:373) ~[spring-orm-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.239 [QUIET] [system.out] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:362) ~[spring-orm-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.239 [QUIET] [system.out] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) ~[spring-beans-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.239 [QUIET] [system.out] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.3.1.RELEASE.jar:4.3.1.RELEASE]
12:06:27.240 [QUIET] [system.out] ... 16 common frames omitted

我的入口点类如下所示:

@SpringBootApplication
public class NotificationsApplication {

public static void main(String[] args) {
SpringApplication.run(NotificationsApplication.class, args);
}
}

我的数据库配置如下所示:

spring:
datasource:
url: jdbc:postgresql://localhost:5432/notifications
username: ----
password: ----
driverClassName: org.postgresql.Driver
jpa:
properties:
hibernate:
format_sql: true
database-platform: org.hibernate.dialect.PostgreSQLDialect
hibernate:
ddl-auto: create-drop
generate-ddl: true

我已经通读了 1.4 里程碑和 RC1 的所有变更日志,但我找不到任何表明我已更改导致无法启动的内容。

来自 build.gradle 的依赖:

dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework:spring-tx')
compile('javax.el:javax.el-api:3.0.0')
compile('com.google.guava:guava:19.0')
compile('com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:2.8.1')
compile("com.fasterxml.jackson.datatype:jackson-datatype-joda:2.7.5")
compile('joda-time:joda-time:2.9.4')
compile('org.jadira.usertype:usertype.core:4.0.0.GA')
compile('com.h2database:h2')
runtime('org.postgresql:postgresql:9.4.1208')
testCompile('junit:junit')
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('com.jayway.jsonpath:json-path')
}

最佳答案

我认为问题在于这种依赖性:

compile('org.jadira.usertype:usertype.core:4.0.0.GA')

它包含 3 个实现 org.hibernate.integrator.spi.Integrator 的类:

  • UserTypeJodaTimeHibernateIntegrator
  • UserTypeJodaMoneyHibernateIntegrator
  • UserTypeLegacyJdkMoneyHibernateIntegrator

Jadira 的 5.0.0.GA 版本 contains a change “修复了 Hibernate 5 下的集成器行为”,看起来升级可以解决问题:

compile('org.jadira.usertype:usertype.core:5.0.0.GA')

关于java - 从 Spring Boot 1.3 升级到 1.4 RC1 时 org.hibernate.internal.SessionFactoryImpl.<init> 抛出的 AbstractMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38596003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com