#spring #spring-boot #hibernate
Вопрос:
Я увеличил весеннюю версию с 4 до 5 и перешел в спящий режим с 4 до 5. Также пружинный ботинок был натянут, так как ему требовалась более новая пружина.
lt;library.spring.versiongt;5.1.6.RELEASElt;/library.spring.versiongt; lt;library.spring-boot.versiongt;2.1.4.RELEASElt;/library.spring-boot.versiongt; lt;library.hibernate.versiongt;5.1.4.Finallt;/library.hibernate.versiongt; lt;library.hibernate-validator.versiongt;5.4.3.Finallt;/library.hibernate-validator.versiongt; lt;library.jadira-usertype.versiongt;3.1.0.CR1lt;/library.jadira-usertype.versiongt; lt;library.javax-validation.versiongt;1.1.0.Finallt;/library.javax-validation.versiongt;
Наверное, у меня несовместимые версии. Не могли бы вы сказать мне, какие версии неверны и какие я должен использовать?
Я получаю:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:127) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117) ... 25 more Caused by: java.lang.AbstractMethodError at org.hibernate.internal.SessionFactoryImpl.lt;initgt;(SessionFactoryImpl.java:277) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:465)
Библиотеки, которые я использую в pom.xml после того, как мсье Дейнум ответит. Удалены версии spring и все их зависимости.
lt;parentgt; .... ... lt;/parentgt; .... lt;propertiesgt; lt;scm_pathgt;...lt;/scm_pathgt; lt;findbugs.thresholdgt;Defaultlt;/findbugs.thresholdgt; lt;findbugs.failOnErrorgt;falselt;/findbugs.failOnErrorgt; lt;project.build.sourceEncodinggt;UTF-8lt;/project.build.sourceEncodinggt; lt;library.asm.versiongt;5.0.3lt;/library.asm.versiongt; lt;library.camel.versiongt;2.16.1lt;/library.camel.versiongt; lt;library.commons-lang3.versiongt;3.4lt;/library.commons-lang3.versiongt; lt;library.cooper.versiongt;0.7.1lt;/library.cooper.versiongt; lt;library.findbugs.versiongt;1.0.0lt;/library.findbugs.versiongt; lt;library.guava.versiongt;21.0lt;/library.guava.versiongt; lt;library.commons.versiongt;4.0lt;/library.commons.versiongt; lt;library.h2.versiongt;1.4.193lt;/library.h2.versiongt; lt;library.javassist.versiongt;3.18.1-GAlt;/library.javassist.versiongt; lt;library.jadira-usertype.versiongt;3.1.0.CR1lt;/library.jadira-usertype.versiongt; lt;library.javax-validation.versiongt;1.1.0.Finallt;/library.javax-validation.versiongt; lt;library.jboss-xnio.versiongt;3.6.2.Finallt;/library.jboss-xnio.versiongt; lt;library.jboss-ejb-api_3.2_spec.versiongt;1.0.0.Finallt;/library.jboss-ejb-api_3.2_spec.versiongt; lt;library.jboss-transaction-api_1.2_spec.versiongt;1.0.1.Finallt;/library.jboss-transaction-api_1.2_spec.versiongt; lt;library.jboss-remote-naming.versiongt;2.0.4.Finallt;/library.jboss-remote-naming.versiongt; lt;library.jboss-ejb-client.versiongt;4.0.11.Finallt;/library.jboss-ejb-client.versiongt; lt;library.jboss-logging.versiongt;3.3.1.Finallt;/library.jboss-logging.versiongt; lt;library.jersey.versiongt;1.19.1lt;/library.jersey.versiongt; lt;library.jolokia.versiongt;1.3.3lt;/library.jolokia.versiongt; lt;library.junit.versiongt;4.12lt;/library.junit.versiongt; lt;library.JUnitParams.versiongt;1.0.6lt;/library.JUnitParams.versiongt; lt;library.log4j.versiongt;1.2.17lt;/library.log4j.versiongt; lt;library.mockito-all.versiongt;1.10.19lt;/library.mockito-all.versiongt; lt;library.saxon-he.versiongt;9.5.1-5lt;/library.saxon-he.versiongt; lt;library.servlet-api.versiongt;3.1.0lt;/library.servlet-api.versiongt; lt;library.spring-boot.versiongt;2.1.4.RELEASElt;/library.spring-boot.versiongt; lt;library.spring-retry.versiongt;1.2.0.RELEASElt;/library.spring-retry.versiongt; lt;library.itext.versiongt;2.1.7lt;/library.itext.versiongt; lt;library.commons-net.versiongt;3.3lt;/library.commons-net.versiongt; lt;library.netty.versiongt;4.0.37.Finallt;/library.netty.versiongt; lt;library.logback-classic.versiongt;1.1.7lt;/library.logback-classic.versiongt; lt;library.ojdbc.versiongt;12.1.0.2lt;/library.ojdbc.versiongt; lt;library.posgresql.versionngt;42.2.18lt;/library.posgresql.versionngt; lt;library.tomcat-embed.versiongt;8.5.24lt;/library.tomcat-embed.versiongt; lt;library.jgroups.versiongt;3.6.16.Finallt;/library.jgroups.versiongt; lt;library.slf4j.versiongt;1.7.5lt;/library.slf4j.versiongt; lt;library.wildfly-common.versiongt;1.4.0.Finallt;/library.wildfly-common.versiongt; lt;library.woodstox.versiongt;4.2.1lt;/library.woodstox.versiongt; lt;wmq.versiongt;9.2.0.2lt;/wmq.versiongt; lt;plugin.liquibase-maven-plugin.versiongt;3.5.3lt;/plugin.liquibase-maven-plugin.versiongt; lt;plugins.findbugs.versiongt;3.0.4lt;/plugins.findbugs.versiongt; lt;duplicate-check.phasegt;verifylt;/duplicate-check.phasegt; lt;/propertiesgt; lt;modulesgt; .... lt;/modulesgt; lt;dependencyManagementgt; lt;dependenciesgt; lt;dependencygt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-dependencieslt;/artifactIdgt; lt;versiongt;${library.spring-boot.version}lt;/versiongt; lt;typegt;pomlt;/typegt; lt;scopegt;importlt;/scopegt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.springframework.retrylt;/groupIdgt; lt;artifactIdgt;spring-retrylt;/artifactIdgt; lt;versiongt;${library.spring-retry.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.nettylt;/groupIdgt; lt;artifactIdgt;netty-codec-httplt;/artifactIdgt; lt;versiongt;${library.netty.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.nettylt;/groupIdgt; lt;artifactIdgt;netty-transport-native-epolllt;/artifactIdgt; lt;versiongt;${library.netty.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.mockitolt;/groupIdgt; lt;artifactIdgt;mockito-alllt;/artifactIdgt; lt;versiongt;${library.mockito-all.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;net.sf.saxonlt;/groupIdgt; lt;artifactIdgt;Saxon-HElt;/artifactIdgt; lt;versiongt;${library.saxon-he.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;ch.qos.logbacklt;/groupIdgt; lt;artifactIdgt;logback-classiclt;/artifactIdgt; lt;versiongt;${library.logback-classic.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.apache.commonslt;/groupIdgt; lt;artifactIdgt;commons-lang3lt;/artifactIdgt; lt;versiongt;${library.commons-lang3.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;javax.servletlt;/groupIdgt; lt;artifactIdgt;javax.servlet-apilt;/artifactIdgt; lt;versiongt;${library.servlet-api.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;findbugslt;/groupIdgt; lt;artifactIdgt;findbugslt;/artifactIdgt; lt;versiongt;${library.findbugs.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.jadira.usertypelt;/groupIdgt; lt;artifactIdgt;usertype.corelt;/artifactIdgt; lt;versiongt;${library.jadira-usertype.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.jbosslt;/groupIdgt; lt;artifactIdgt;jboss-ejb-clientlt;/artifactIdgt; lt;versiongt;${library.jboss-ejb-client.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.wildfly.commonlt;/groupIdgt; lt;artifactIdgt;wildfly-commonlt;/artifactIdgt; lt;versiongt;${library.wildfly-common.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.jboss.logginglt;/groupIdgt; lt;artifactIdgt;jboss-logginglt;/artifactIdgt; lt;versiongt;${library.jboss-logging.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.jbosslt;/groupIdgt; lt;artifactIdgt;jboss-remote-naminglt;/artifactIdgt; lt;versiongt;${library.jboss-remote-naming.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.jboss.spec.javax.ejblt;/groupIdgt; lt;artifactIdgt;jboss-ejb-api_3.2_speclt;/artifactIdgt; lt;versiongt;${library.jboss-ejb-api_3.2_spec.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.jboss.spec.javax.transactionlt;/groupIdgt; lt;artifactIdgt;jboss-transaction-api_1.2_speclt;/artifactIdgt; lt;versiongt;${library.jboss-transaction-api_1.2_spec.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.jboss.xniolt;/groupIdgt; lt;artifactIdgt;xnio-apilt;/artifactIdgt; lt;versiongt;${library.jboss-xnio.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.jboss.xniolt;/groupIdgt; lt;artifactIdgt;xnio-niolt;/artifactIdgt; lt;versiongt;${library.jboss-xnio.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;com.lowagielt;/groupIdgt; lt;artifactIdgt;itextlt;/artifactIdgt; lt;versiongt;${library.itext.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;commons-netlt;/groupIdgt; lt;artifactIdgt;commons-netlt;/artifactIdgt; lt;versiongt;${library.commons-net.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.apache.commonslt;/groupIdgt; lt;artifactIdgt;commons-csvlt;/artifactIdgt; lt;versiongt;${library.commons-csv.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;pl.pragmatistslt;/groupIdgt; lt;artifactIdgt;JUnitParamslt;/artifactIdgt; lt;versiongt;${library.JUnitParams.version}lt;/versiongt; lt;scopegt;testlt;/scopegt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.xmlunitlt;/groupIdgt; lt;artifactIdgt;xmlunit-corelt;/artifactIdgt; lt;versiongt;${library.xmlunit-core.version}lt;/versiongt; lt;scopegt;testlt;/scopegt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.jgroupslt;/groupIdgt; lt;artifactIdgt;jgroupslt;/artifactIdgt; lt;versiongt;${library.jgroups.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.slf4jlt;/groupIdgt; lt;artifactIdgt;slf4j-simplelt;/artifactIdgt; lt;versiongt;${library.slf4j.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;com.jayway.jsonpathlt;/groupIdgt; lt;artifactIdgt;json-pathlt;/artifactIdgt; lt;versiongt;2.0.0lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.slf4jlt;/groupIdgt; lt;artifactIdgt;slf4j-log4j12lt;/artifactIdgt; lt;versiongt;1.7.5lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;com.ibm.mqlt;/groupIdgt; lt;artifactIdgt;com.ibm.mq.allclientlt;/artifactIdgt; lt;versiongt;${wmq.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;com.google.guavalt;/groupIdgt; lt;artifactIdgt;guavalt;/artifactIdgt; lt;versiongt;${library.guava.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.apache.commonslt;/groupIdgt; lt;artifactIdgt;commons-collections4lt;/artifactIdgt; lt;versiongt;${library.commons.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.apache.camellt;/groupIdgt; lt;artifactIdgt;camel-parentlt;/artifactIdgt; lt;versiongt;${library.camel.version}lt;/versiongt; lt;typegt;pomlt;/typegt; lt;scopegt;importlt;/scopegt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-starterlt;/artifactIdgt; lt;versiongt;${library.spring-boot.version}lt;/versiongt; lt;exclusionsgt; lt;exclusiongt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-starter-logginglt;/artifactIdgt; lt;/exclusiongt; lt;/exclusionsgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-starter-log4j2lt;/artifactIdgt; lt;versiongt;${library.spring-boot.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-starter-jdbclt;/artifactIdgt; lt;versiongt;${library.spring-boot.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.apache.tomcat.embedlt;/groupIdgt; lt;artifactIdgt;tomcat-embed-corelt;/artifactIdgt; lt;versiongt;${library.tomcat-embed.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.apache.tomcat.embedlt;/groupIdgt; lt;artifactIdgt;tomcat-embed-ellt;/artifactIdgt; lt;versiongt;${library.tomcat-embed.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.apache.tomcat.embedlt;/groupIdgt; lt;artifactIdgt;tomcat-embed-websocketlt;/artifactIdgt; lt;versiongt;${library.tomcat-embed.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.apache.tomcatlt;/groupIdgt; lt;artifactIdgt;tomcat-jdbclt;/artifactIdgt; lt;versiongt;${library.tomcat-embed.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.ow2.asmlt;/groupIdgt; lt;artifactIdgt;asmlt;/artifactIdgt; lt;versiongt;${library.asm.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.codehaus.woodstoxlt;/groupIdgt; lt;artifactIdgt;woodstox-core-asllt;/artifactIdgt; lt;versiongt;${library.woodstox.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.javassistlt;/groupIdgt; lt;artifactIdgt;javassistlt;/artifactIdgt; lt;versiongt;${library.javassist.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.projectlomboklt;/groupIdgt; lt;artifactIdgt;lomboklt;/artifactIdgt; lt;versiongt;1.18.20lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-starter-validationlt;/artifactIdgt; lt;versiongt;${library.spring-boot.version}lt;/versiongt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-starter-data-jpalt;/artifactIdgt; lt;versiongt;${library.spring-boot.version}lt;/versiongt; lt;/dependencygt; lt;/dependenciesgt; lt;/dependencyManagementgt;
….
Комментарии:
1. Вы пытаетесь перехитрить новичков в весенних ботинках, не делайте этого. Откажитесь от версии spring и версии hibernate и используйте версию, управляемую spring boot. То же самое касается проверки.
2. @M. Deinum, но я не могу использовать родителя spring-boot-starter, так как у меня есть другой внутренний родитель. У меня есть только spring-boot-starter в качестве зависимости. Итак, вы хотите сказать, что я должен полностью удалить депы spring/hibernate?
3. Вы можете импортировать родительский элемент как часть раздела «Управление зависимостями», чтобы он, по крайней мере, управлял версиями, и вы получили совместимые версии. Просто используйте
spring-boot-starter-dependencies
его в своемdependencyManagement
разделе и используйтеimport
в качестве области действия. Таким образом, вы получите, по крайней мере, правильные версии зависимостей.
Ответ №1:
Исправьте свои pom.xml
ошибки и позвольте Spring Boot управлять зависимостями.
- Добавьте
spring-boot-starter-dependencies
какbom
. - Добавьте необходимые
spring-boot-starter-*
зависимости
lt;dependencyManagementgt; lt;dependenciesgt; lt;dependencygt; lt;!-- Import dependency management from Spring Boot --gt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-dependencieslt;/artifactIdgt; lt;versiongt;${library.spring-boot.version}lt;/versiongt; lt;typegt;pomlt;/typegt; lt;scopegt;importlt;/scopegt; lt;/dependencygt; lt;/dependenciesgt; lt;/dependencyManagementgt;
Судя по вашим свойствам, добавьте следующее
lt;dependenciesgt; lt;dependencygt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-starter-validationlt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.springframework.bootlt;/groupIdgt; lt;artifactIdgt;spring-boot-starter-data-jpalt;/artifactIdgt; lt;/dependencygt; lt;/dependenciesgt;
Вероятно, вы также можете отполировать свои другие зависимости, и таким образом вы также получите правильную весеннюю версию. Таким образом, вы также можете удалить эти version
теги.
Комментарии:
1. Я получаю ту же ошибку. Обновленный вопрос с моими свободами. Не могли бы вы проверить это?
2. Я должен был поднять jadira.usertype с 3.0.0 до 7.0.0.