1
我试图让SpringBoot应用程序与Hibernate 5一起运行,以利用Java LocalDate的变化,我相信它包含了(而不是使用java.util.Date )。LocalContainerEntityManagerFactoryBean.setPersistenceUnitRootLocation在Spring-Boot中被删除1.4.1
要获得新的休眠我搬到了春天1.4.1.RELEASE在我的摇篮文件:
dependencies {
compile("org.springframework.boot:spring-boot-starter-web:1.4.1.RELEASE")
compile("org.springframework.boot:spring-boot-starter-data-jpa:1.4.1.RELEASE")
compile("org.springframework.boot:spring-boot-starter-freemarker':1.4.1.RELEASE")
compile group: 'com.h2database', name: 'h2', version:'1.4.191'
compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.1'
compile group: 'org.sitemesh', name: 'sitemesh', version:'3.0.1'
后与越来越依赖加载正确(IDE缓存等),当我跑我的SpringBoot应用一些不幸的问题我得到以下错误:
2016-10-25 10:40:36.798 ERROR 7448 --- [ main] o.s.boot.SpringApplication : Application startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]: Factory method 'entityManagerFactory' threw exception; nested exception is java.lang.NoSuchMethodError:
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.setPersistenceUnitRootLocation(Ljava/lang/String;)V
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
我怀疑,要么一些图书馆还没有正确地更新或我错过在我的依赖的东西。
我经历了几次清理/安装/更新/缓存清理周期,最终问题消失了。不确定究竟是什么修复了它! 我怀疑它是由于某些原因,在构建过程中未正确替换库和更新/旧版本的版本而导致的,或者IDE保留与gradle文件不同的版本引用。 – DaFoot