当我试图运行我的春季应用程序时,我收到一个错误。
错误:org.springframework.web.context.ContextLoader - 上下文初始化失败“spring”
堆栈跟踪:
信息:初始化Spring …
随着提供
pom细节:
<spring-framework.version>4.3.1.RELEASE</spring-framework.version> <spring-data-jpa.version>2.1.5.RELEASE</spring-data-jpa.version>
和错误消息:
java.lang中。 的 的NoClassDefFoundError 强> : 的 组织/ springframework的/核心 强> / ReactiveTypeDescriptor 的 在org.springframework.data 强> .repository.util.ReactiveWrappers.findDescriptor(ReactiveWrappers.java:281)
,问题很明确:
spring-data:2.1.5.RELEASE 要看 上 spring:5.1.5.RELEASE 和(在运行时)依赖(存在) org.springframework.core.ReactiveTypeDescriptor ,这只是“不到位” spring:4.3.1.RELEASE ( 5.0春季推出 ),这是您声明为直接依赖的版本(并覆盖任何潜在的瞬态(更高)版本)。
spring-data:2.1.5.RELEASE
spring:5.1.5.RELEASE
org.springframework.core.ReactiveTypeDescriptor
spring:4.3.1.RELEASE
可能的解决方案(按我的喜好排序):
(如果适用)将Spring升级到 5.1.5.RELEASE (最新)。这里有许多可能的方法,在你的情况下“最快”:
5.1.5.RELEASE
<spring-framework.version>5.1.5.RELEASE</spring-framework.version>
如果您可以自由升级Spring,但仅限于“次要版本”(所以最新的4,但不是5),那么使用:
spring-data:1.9.9.RELEASE
spring:4.3.13.RELEASE
如果你受到(确切的)Spring版本的约束,你可以降级spring-data:
1.8.9.RELEASE
spring:4.2.9.RELEASE
4.3.1.RELEASE
1.9.0.RELEASE
spring:4.3.6.RELEASE
......没有进一步的问题可以工作。
在任何情况下,这个maven命令都可以提供一些亮点 spring-core artifactId)并且在依赖冲突的情况下非常有用:
spring-core
mvn dependency:tree -Dverbose -Dincludes=spring-core