从Spring-Boot-Starters学习如何治理maven依赖冲突问题

做基础组件/中间件对接业务的同学,肯定对jar依赖冲突问题印象深刻。

Spring Boot Starters 实质上是Maven依赖和插件模块化管理 ,见spring-boot-starter-parentpom.xml 描述,其初衷是解决jar依赖冲突问题

Spring Boot Starters 文档 罗列了所有starter,包括starter名称、描述以及POM。

Spring Boot 项目主页中,快速入门(Quick Start)示例的Maven配置就是一个很好的开端:

xml 复制代码
<!-- Inherit defaults from Spring Boot -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.16</version>
</parent>

<dependencies>
    <!-- Add typical dependencies for a web application -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

所有POM和META-INF/spring.providesspring-boot-starters 模块中,核心重点就下面几个:

  1. spring-boot-starter-parent
  2. spring-boot-dependencies
  3. spring-boot-starters
  4. spring-boot-starter
  5. spring-boot-starter-web
  6. spring-boot-starter-webflux

细读领会这几个就应该能体会到一些内在东西。


祝大家玩得开心!ˇˍˇ

简放,杭州

相关推荐
麦兜*1 小时前
Spring Boot 企业级动态权限全栈深度解决方案,设计思路,代码分析
java·spring boot·后端·spring·spring cloud·性能优化·springcloud
hdsoft_huge6 小时前
SpringBoot 与 JPA 整合全解析:架构优势、应用场景、集成指南与最佳实践
java·spring boot·架构
程序员的世界你不懂7 小时前
基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(2)对框架加入业务逻辑层
java·selenium·maven
张先shen9 小时前
Elasticsearch RESTful API入门:基础搜索与查询DSL
大数据·spring boot·elasticsearch·搜索引擎·全文检索·restful
慕木兮人可9 小时前
Docker部署MySQL镜像
spring boot·后端·mysql·docker·ecs服务器
程序员的世界你不懂10 小时前
基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(4)集成Allure报表
java·selenium·maven
苦学编程的谢12 小时前
SpringBoot项目的创建
java·spring boot·intellij-idea
武昌库里写JAVA12 小时前
vue3面试题(个人笔记)
java·vue.js·spring boot·学习·课程设计
敏叔V58714 小时前
SpringBoot实现MCP
java·spring boot·后端
小袁拒绝摆烂14 小时前
SpringCache整合SpringBoot使用
java·spring boot·后端