这是我的Maven依赖项
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
我要实现的目标是将spring core从4.3.14.RELEASE更改为4.3.4.RELEASE。是的,默认情况下,Spring Boot启动程序使用的是Spring Core 4.3.14,可以将其扩展到5.0.7.RELEASE,因为我尝试不包括spring-core并包含4.3.4.RELEASE
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
</exclusions>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.4.RELEASE</version>
</dependency>
</dependencies>
当我尝试构建时,会引发以下期望
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration': Unsatisfied dependency expressed through method 'setFilterChainProxySecurityConfigurer' parameter 1; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is java.lang.NoSuchMethodError: org.springframework.core.convert.support.DefaultConversionService.getSharedInstance()Lorg/springframework/core/convert/ConversionService;
不可能手动添加每个依赖项,因为应用程序正在使用大量依赖项,并且与其他依赖项的兼容性将是另一项艰巨的工作。
那么有什么解决方法吗?
注意:-尝试与spring framework-bom和spring IO一起使用,但找不到任何解决方案,也许我错过了一些东西。这些例子值得欢迎。
答案 0 :(得分:0)
您实际上不应该这样做。 Spring Framework> Spring Boot> Spring Cloud> Data Flow全部管理这些依赖是有原因的。您应该让spring处理依赖关系,并根据需要升级您的实现。
https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot
对此进行更详细的回答。
要这样做是很合理的,但是应该做到 请谨慎,因为较新版本的传递依赖项可以 轻松打破依赖于Spring较早版本的功能 开机当您执行此操作并应用以下修复程序之一时,您就是 与Spring Boot的依赖管理脱离 说“嘿,我知道我在做什么,请相信我。”不幸的是, 有时您需要这样做以利用新功能 第三方库中的功能。如果您不需要新版本 (或其他任何外部传递依赖项) 需要),那么就不要这样做,只要坚持快乐的道路,让Spring 引导管理依赖项。