Spring Boot\Cloud Maven项目版本管理问题

Spring Boot\Cloud Maven项目版本管理问题

前述:Spring Boot和Spring Cloud如果配置的时候不注意版本,就会出现各种各样奇奇怪怪的问题,手动管理项目依赖太麻烦。

使用Maven中的DependenciesManager节点来管理版本

一般常用的有下面三个:

<dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.7.RELEASE</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>2021.0.1</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.6.7</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement>

注意这里的 scope 和 type 节点不能少,不然不起作用。
DependenciesManager中的版本可以访问 https://start.spring.io/actuator/info 来查看。

下一步

使用了如上配置之后,当我们需要引入上面三个相关的依赖包的时候就可以不写版本号,配置的这三个依赖管理会自动帮我们找到适合的。

原理,为什么可以自动找到适合的?以spring-cloud-dependencies为例。

因为spring-cloud-dependencies下有全部与其相关的依赖包和对应的版本,当我们要引入某个包的时候,Maven做以下操作:

  • 如果有版本号,则直接获取,如果未写版本号,则下一步
  • 从dependencyManagement 的 dependencies 节点下寻找是否有与其对应的依赖包,如有,则填入这里的版本号,如没有,则版本号为 unkown.

我如何知道会引入哪个版本的依赖包?

在IDEA下,按住 Mac的Command按键,点击 artifactId 中的值,进入其对应的 POM 文件中,在这里可以找到对应版本。


__EOF__

本文作者ZOLMK
本文链接https://www.cnblogs.com/zolmk/p/16219359.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   zolmk  阅读(465)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示