尝试启动SpringApplication时,使用Maven添加Jadira依赖项会导致AbstractMethodError。堆栈跟踪没有任何帮助。它没有引用我自己的任何类。是什么导致此错误,我该如何解决?

这里是依赖项:

<dependency>
    <groupId>org.jadira.usertype</groupId>
    <artifactId>usertype.core</artifactId>
    <version>3.1.0.CR1</version>
</dependency>


这是堆栈跟踪的一部分:

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
    ...
    at sec.project.CyberSecurityBaseProjectApplication.main(CyberSecurityBaseProjectApplication.java:17) [classes/:na] // this is simply the line that launches the Spring app
    ...
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.4.2.RELEASE.jar:1.4.2.RELEASE]
Caused by: java.lang.AbstractMethodError: null
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:280) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
    ...


FWIW,我正在尝试做this

最佳答案

您所指的文章说


  该代码适用于Spring Boot 1.2.2和Hibernate 4.5


从日志中看起来您正在使用Spring Boot 1.4.2,它将获取Hibernate 5个jar。 Hibernate 5和旧版本的jadira(您正在使用3.1.0.CR1)存在一些问题。自5.0.0.GA版本的jadira用户类型以来,此问题已得到解决。您可以尝试使用https://mvnrepository.com/artifact/org.jadira.usertype/usertype.core上的新版本吗?

07-24 22:15