跳转到正文

依赖版本参考

以下版本依据当前 own-springboot-dependencies4.1.0-SNAPSHOT 源码及 Spring Boot 4.1.0 BOM 整理。平台显式管理的坐标按用途排列;导入方式和版本覆盖规则见使用与配置。这些是项目当前基线,不是各库最新版本清单。

版本管理如何生效

导入基础 Parent/BOM 后,会获得 Spring Boot 与 Hutool BOM 的管理条目,以及平台显式声明的第三方条目。项目统一 BOM 还管理 Component、Business 中声明的模块。应用仍需在 dependencies 中添加实际使用的库。

表中的“属性”是平台根 POM 的版本维护入口。只 import BOM 的应用不能依靠定义同名属性来覆盖它;应在应用的 dependencyManagement 显式管理目标坐标。引入某个云 SDK 也不意味着 Business 已实现对应业务适配器,具体能力以业务模块文档为准。

EFC 与构建基线

属性当前值用途
java.version25Parent 的 Compiler release
own.platform.version4.1.0-SNAPSHOT项目 BOM 导入的基础平台版本
own.component.version4.1.0-SNAPSHOT项目 BOM 导入的 Component 版本
own.business.version4.1.0-SNAPSHOT项目 BOM 导入的 Business 版本
project.build.sourceEncodingUTF-8源文件编码
project.reporting.outputEncodingUTF-8报告编码

Maven 插件的五个版本属性与执行条件统一放在构建插件中。

平台显式管理的依赖

以下表格中的坐标为 groupId:artifactId。除标注的 BOM 与 classifier 外,普通依赖采用默认 JAR 类型;平台管理的版本仅适用于坐标匹配的条目。

基础 BOM

坐标版本属性用途
org.springframework.boot:spring-boot-dependencies4.1.0spring-boot.versionSpring Boot 及其生态依赖的版本集合
cn.hutool:hutool-bom5.8.46hutool.versionHutool 工具模块的版本集合

数据库与 ORM

坐标版本属性用途
com.clickhouse:clickhouse-jdbc0.9.8clickhouse.versionClickHouse JDBC 驱动;必须声明 classifier=all
com.mysql:mysql-connector-j9.7.0mysql.versionMySQL JDBC 驱动
com.alibaba:druid-spring-boot-4-starter1.2.28druid.versionDruid 连接池与 Spring Boot 4 接入
com.baomidou:mybatis-plus-spring-boot4-starter3.5.16mybatis-plus.versionMyBatis-Plus 的 Spring Boot 4 接入
com.baomidou:mybatis-plus-annotation3.5.16mybatis-plus.version实体与 Mapper 相关注解
com.baomidou:mybatis-plus-jsqlparser3.5.16mybatis-plus.versionSQL 解析支持
com.baomidou:dynamic-datasource-spring-boot4-starter4.5.0dynamic-datasource.version动态数据源的 Spring Boot 4 接入
com.github.pagehelper:pagehelper-spring-boot-starter4.1.0pagehelper.versionPageHelper 分页接入;排除上游 MyBatis Starter
org.apache.shardingsphere:shardingsphere-jdbc5.5.3shardingsphere.versionShardingSphere JDBC 分片与数据治理

缓存、搜索与调度

坐标版本属性用途
org.redisson:redisson4.6.1redisson.versionRedis 客户端、分布式数据结构与锁
org.redisson:redisson-spring-boot-starter4.6.1redisson.versionRedisson 的 Spring Boot 自动装配
org.springframework.data:spring-data-elasticsearch6.1.0spring-data-elasticsearch.versionSpring Data Elasticsearch 数据访问
co.elastic.clients:elasticsearch-java9.4.2elasticsearch.versionElasticsearch Java API 客户端
co.elastic.clients:elasticsearch-rest5-client9.4.2elasticsearch.versionElasticsearch HTTP 传输客户端
org.quartz-scheduler:quartz2.5.2quartz.version任务调度引擎

序列化、校验与通用工具

坐标版本属性用途
com.alibaba.fastjson2:fastjson22.0.62fastjson.versionFastjson2 JSON 解析与序列化
com.google.code.gson:gson2.13.2gson.versionGson JSON 解析与序列化
org.yaml:snakeyaml2.6snakeyaml.versionYAML 解析
com.google.protobuf:protobuf-java4.34.2protobuf.versionProtocol Buffers Java 运行时
com.google.guava:guava33.6.0-jreguava.version集合、缓存及并发工具
org.apache.commons:commons-lang33.20.0commons-lang3.version字符串、对象等通用工具
commons-codec:commons-codec1.21.0commons-codec.version摘要与编码工具
commons-logging:commons-logging1.3.6commons-logging.version通用日志接口
org.apache.commons:commons-compress1.28.0commons-compress.version压缩与归档格式处理
com.belerweb:pinyin4j2.5.1pinyin4j.version中文转拼音
jakarta.validation:jakarta.validation-api3.1.1jakarta-validation.versionJakarta Validation 接口;实现由应用依赖提供
org.glassfish:jakarta.json2.1.3jakarta-json.versionJakarta JSON Processing 实现

文件与文档处理

坐标版本属性用途
org.dom4j:dom4j2.2.0dom4j.versionXML 文档解析和操作
org.apache.poi:poi5.5.1poi.versionPOI 基础及传统 Office 格式支持
org.apache.poi:poi-ooxml5.5.1poi.versionOffice Open XML 格式支持
org.apache.poi:poi-ooxml-lite5.5.1poi.versionOOXML 精简 schema 类型
org.apache.poi:poi-scratchpad5.5.1poi.versionPOI 补充文档格式支持

云存储、短信与点播

坐标版本属性用途
com.aliyun:aliyun-java-sdk-core4.7.9aliyun-core.version阿里云旧版 Java SDK 核心
com.aliyun.oss:aliyun-sdk-oss3.18.5aliyun-oss.version阿里云 OSS 对象存储
com.aliyun:aliyun-java-sdk-dysmsapi2.2.1aliyun-dysmsapi.version阿里云短信旧版 SDK
com.aliyun:dysmsapi201705252.0.23aliyun-dysmsapi20170525.version阿里云短信 20170525 API SDK
com.aliyun:aliyun-java-sdk-vod2.16.34aliyun-vod.version阿里云视频点播
com.huaweicloud:esdk-obs-java3.25.10huawei-obs.version华为云 OBS 对象存储
com.huawei.vod:cloud-java-sdk-vod2.0.9huawei-vod.version华为云视频点播
com.qiniu:qiniu-java-sdk7.19.0qiniu-core.version七牛云 Java SDK
io.minio:minio8.4.3minio.versionMinIO 对象存储客户端
com.volcengine:ve-tos-java-sdk2.8.8volc-tos.version火山引擎 TOS 对象存储

网络、安全与日志

坐标版本属性用途
io.netty:netty-all4.2.15.Finalnetty.versionNetty 聚合构件;其他 Netty 模块仍需检查 BOM 解析
io.github.openfeign:feign-hc513.13feign-hc5.versionFeign 的 Apache HttpClient 5 适配器
io.github.openfeign:feign-okhttp13.13feign-okhttp.versionFeign 的 OkHttp 适配器
org.apache.httpcomponents.client5:httpclient55.6.1httpclient5.versionApache HttpClient 5
org.apache.httpcomponents.client5:httpclient5-fluent5.6.1httpclient5.versionHttpClient Fluent API
org.apache.httpcomponents.core5:httpcore55.4.2httpcore5.versionApache HTTP Core 5
com.github.ulisesbocchio:jasypt-spring-boot-starter4.0.4jasypt.version配置属性加密接入
me.zhyd.oauth:JustAuth1.16.7justauth.version第三方登录授权客户端
cn.jpush.api:jpush-client3.7.7jpush.version极光推送客户端
net.logstash.logback:logstash-logback-encoder9.0logstash-logback-encoder.versionLogback 结构化日志编码
org.codehaus.janino:janino3.1.12janino.versionJava 表达式与动态编译支持

基础 BOM 两项使用 type=pomscope=import,已由平台导入,应用通常无需重复导入。Hutool 各模块使用 5.8.46,例如 cn.hutool:hutool-core

Spring Boot BOM 管理的常用依赖

下表列出平台未另行显式管理的常用坐标,最终版本来自当前导入的 Spring Boot BOM。完整范围远大于此表,可在应用中执行 mvn help:effective-pom 查询;应用其他 BOM 或显式覆盖可能改变结果。

坐标当前版本用途
org.springframework.boot:spring-boot-starter-webmvc4.1.0Spring MVC Web 应用
org.springframework.boot:spring-boot-starter-test4.1.0Spring Boot 测试支持,通常使用 test scope
org.springframework:spring-core7.0.8Spring Framework 核心
com.github.ben-manes.caffeine:caffeine3.2.4本地缓存
com.rabbitmq:amqp-client5.30.0RabbitMQ Java 客户端
org.postgresql:postgresql42.7.11PostgreSQL JDBC 驱动
org.mariadb.jdbc:mariadb-java-client3.5.8MariaDB JDBC 驱动
org.mongodb:mongodb-driver-sync5.8.0MongoDB 同步驱动
org.slf4j:slf4j-api2.0.18日志接口
ch.qos.logback:logback-classic1.5.34Logback 日志实现
com.fasterxml.jackson.core:jackson-databind2.21.4Jackson 2 数据绑定
tools.jackson.core:jackson-databind3.1.4Jackson 3 数据绑定,与 Jackson 2 使用不同坐标
org.junit.jupiter:junit-jupiter6.0.3JUnit Jupiter 测试 API 与引擎聚合
org.projectlombok:lombok1.18.46Lombok 编译期注解与处理器

平台另外声明 junit-jupiter.version=6.0.3lombok.version=1.18.46。Lombok 属性明确用于 Compiler 的注解处理路径;平台没有为这两项另写普通依赖管理条目,其依赖版本当前由 Spring Boot BOM 提供。不能仅因修改平台中的同名属性,就认定已覆盖导入 BOM 中的依赖版本。

同样,netty.version 明确用于平台的 netty-all 条目,Netty 模块族由 Spring Boot 导入的 Netty BOM 管理;当前 netty-buffer 等模块也解析为 4.2.15.Final,后续升级应核对整族一致性。

使用示例与下一步

已导入项目 BOM 时,引入工具库无需填写版本:

xml
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
</dependency>

数据库驱动、ClickHouse classifier、PageHelper 排除项见声明实际依赖。需要 EFC 封装后的缓存与锁,继续阅读Store 组件;需要上传和访问对象,阅读资源文件;需要系统日志后端,阅读日志存储