首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子模块中的最新Spring引导版本和父模块中的不同Spring版本

子模块中的最新Spring引导版本和父模块中的不同Spring版本
EN

Stack Overflow用户
提问于 2016-09-27 20:47:55
回答 1查看 473关注 0票数 1

我正在尝试创建Spring Boot应用程序,它是我们项目的父pom的子模块(它依赖于我们的内部框架,该框架锁定了spring依赖版本--目前我们是4.2.4版本)

如果我指定最新的Spring Boot版本(1.4.1-RELEASE),它依赖于spring 4.3.3-RELEASE,我将面临冲突

其中之一是以下错误:

代码语言:javascript
复制
Caused by: java.lang.NoClassDefFoundError: 
org/springframework/beans/factory/ObjectProvider

这个类是在4.3中引入的,它解释了这个错误

有没有一种方法可以让我的Spring Boot依赖保持最新,而不需要在内部框架中更新Spring版本?

EN

回答 1

Stack Overflow用户

发布于 2016-09-27 20:58:26

您应该通过将spring-boot-starter-parent设置为父对象来保持所有Spring依赖项的同步。

这就为您设置了所有的<dependencyManagement>,当您引入特定的依赖项时,您就不应该使用<version>

如果您需要覆盖由父级管理的版本,则应该有一个您可以更改的属性,例如logback.versionspring-security.version等。

您还可以通过使用<excludes>完全删除传递依赖项,并确保从其他地方拉入它,从而阻止您的某个依赖项覆盖其依赖项的版本。不过,这要脆弱得多。

您也可以尝试将spring-boot-dependencies导入到您的dependencyManagement中,但是尝试将现有项目添加为引导项目的父项目,而不是作为依赖项,可能会让您自己做更多的工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39725127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档