前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >maven 中的版本依赖冲突问题

maven 中的版本依赖冲突问题

原创
作者头像
猎户星座1
修改2020-08-10 10:17:19
3K0
修改2020-08-10 10:17:19
举报
文章被收录于专栏:Java Study

在使用maven构建依赖的时候,发现springBoot的版本和导入的依赖版本中的 spring-context 的版本出现冲突。

要引入的依赖爆出的冲突
要引入的依赖爆出的冲突

要引入的依赖,它所依赖的spring-context版本为3.24 我的springboot 主版本较高2.18 它的spring-context为5.19 因此在被依赖的版本和 自己的springboot 版本都出现了冲突的提示

自己的springboot 的依赖 出现的冲突
自己的springboot 的依赖 出现的冲突

要知道sping-context 下包含了很多的依赖 如core aop beans 等 因此他们的都会有版本冲突。

解决办法 出现这种问题的办法首先是因为 依赖的上传者 没有约束自己的引入的依赖

比如 在它引入的时候要将 optional 去约束否则就会产生 版本依赖传递的问题。

代码语言:javascript
复制
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>2.0.0-alpha1</version>
    <optional>true</optional>
</dependency>
代码语言:javascript
复制
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>3.2.4.RELEASE</version>
    <optional>true</optional>
</dependency>

或者在规定版本时 可以不填写版本号,会根据被引入的项目版本号进行导入。

解决方法

在引入它的依赖下面 排除掉冲突的依赖

代码语言:javascript
复制

 <dependency>
      <groupId>com.xxx</groupId>
      <artifactId>xxx</artifactId>
      <version>xxx</version>
    <exclusions>
       <exclusion>
           <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
     </exclusion>
   </exclusions>
</dependency>

关于作用域的问题。scope

https://blog.csdn.net/qq_36874292/article/details/81072717

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档