跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

Spring Boot 与 JDK、Maven、MyBatis-Plus、Tomcat 版本对应

Spring Boot 3.x 强制要求 JDK 17,2.x 支持 JDK 8。MyBatis-Plus 3.5.x+ 适配 Spring Boot 3.x 模块化配置。Tomcat 10+ 切换至 Jakarta EE 命名空间。Maven 推荐 3.6.3+ 以支持依赖解析。新项目推荐 Spring Boot 3.2.x 组合,旧项目升级需处理 javax 到 jakarta 的包路径变更及依赖冲突。

萤火微光发布于 2025/11/3更新于 2026/6/616 浏览

Spring Boot 与 JDK、Maven、MyBatis-Plus、Tomcat 版本对应

一、Spring Boot 与 JDK 版本对应

  1. Spring Boot 2.x 系列

    • 最低要求:JDK 1.8
    • 推荐版本:JDK 8/11(官方支持至 2025 年)
    • 注意:Spring Boot 2.7.x 是 2.x 的最终版本,建议新项目直接升级至 3.x
  2. Spring Boot 3.x 系列

    • 最低要求:JDK 17
    • 推荐版本:JDK 17/21(支持 Java 17+ 新特性,如虚拟线程)
    • 兼容性:Spring Boot 3.0+ 不再支持 JDK 8,需注意旧项目升级时的适配

二、Spring Boot 与 MyBatis-Plus 版本对应

  1. Spring Boot 2.x + MyBatis-Plus

    • 推荐组合:Spring Boot 2.7.x + MyBatis-Plus 3.4.x
    • 注意:避免混用 MyBatis 3.4.x 以下版本,可能导致 sqlSessionFactory 配置错误
  2. Spring Boot 3.x + MyBatis-Plus

    • 强制要求:MyBatis-Plus 3.5.x+(最低 3.5.3.1)
    • 优化点:支持 Java 17 特性(如 Record 类)和 Spring Boot 3.x 的模块化配置

依赖示例:

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>3.5.5</version>
</dependency>

依赖示例:

<dependency>
  <groupId>com.baomidou</>
  mybatis-plus-boot-starter
  3.4.3.1

groupId
<artifactId>
</artifactId>
<version>
</version>
</dependency>

三、Maven 配置与 Spring Boot

  1. Maven 版本兼容性
    • 推荐版本:Maven 3.6.3+(支持 Spring Boot 3.x 的依赖解析)
    • 依赖冲突处理:使用 mvn dependency:tree 检查冲突,优先通过 <exclusions> 排除旧版本依赖

关键配置:在 pom.xml 中继承 Spring Boot 父工程以简化版本管理:

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>3.2.0</version>
</parent>

四、内嵌 Tomcat 版本对应

  1. Spring Boot 默认内嵌 Tomcat 版本
    • Spring Boot 2.7.x:Tomcat 9.0.x
    • Spring Boot 3.0.x+:Tomcat 10.1.x(支持 Servlet 5.0+)
    • 注意:Tomcat 10+ 的包路径从 javax 改为 jakarta,需确保依赖库兼容(如 MyBatis-Plus 3.5.5+)

手动指定版本(非必要不推荐):

<properties>
  <tomcat.version>10.1.18</tomcat.version>
</properties>

五、综合版本选择策略

  1. 新项目推荐组合

    • 技术栈:Spring Boot 3.2.x + JDK 17 + MyBatis-Plus 3.5.5 + Tomcat 10.1.x
    • 优势:支持最新 Java 特性、性能优化及长期维护
  2. 旧项目升级路径

    • 步骤:
      1. 升级 JDK 至 17(Spring Boot 3.x 强制要求)
      2. 升级 Spring Boot 至 3.x,同步调整 MyBatis-Plus 至 3.5.x
      3. 验证 Tomcat 兼容性,更新 javax 到 jakarta 命名空间

六、常见问题与解决方案

  1. JDK 版本不兼容报错

    • 示例:UnsupportedClassVersionError
    • 解决:检查 Maven 编译配置,确保 <maven.compiler.source> 与 JDK 版本一致
  2. MyBatis-Plus 启动失败

    • 典型错误:Property 'sqlSessionFactory' not found
    • 原因:MyBatis-Plus 版本与 Spring Boot 不兼容
    • 解决:升级至兼容版本(参考第二节)并清理 Maven 本地仓库缓存
  3. Tomcat 10+ 的 Servlet API 变更

    • 错误:javax.servlet 类找不到
    • 解决:替换依赖为 Jakarta EE 版本(如 jakarta.servlet:jakarta.servlet-api:5.0.0)

具体版本号请参考各组件官方文档。

目录

  1. Spring Boot 与 JDK、Maven、MyBatis-Plus、Tomcat 版本对应
  2. 一、Spring Boot 与 JDK 版本对应
  3. 二、Spring Boot 与 MyBatis-Plus 版本对应
  4. 三、Maven 配置与 Spring Boot
  5. 四、内嵌 Tomcat 版本对应
  6. 五、综合版本选择策略
  7. 六、常见问题与解决方案
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Java 开发者转型网络安全渗透测试:入门指南与实战路径
  • Java 模拟算法实战:五道经典题解
  • IDA Pro 详细使用教程与逆向分析基础
  • 主键与外键的区别及适用场景
  • 动态规划专题:子序列问题与 LIS 模型进阶
  • 量化、算子融合与内存映射:C 语言实现边缘 AI 推理
  • 微信小程序原生前端开发入门:从零构建第一个可交互页面
  • 【笔记】Windows 上安装 OpenCode AI 编码助理:从踩坑到成功的简单记录
  • Spring Cloud 配置中心选型实战:Nacos vs Apollo vs Spring Cloud Config
  • Video.js 与 WebRTC 实战:1 小时构建视频会议原型
  • Qwen 2.5-Max 与 Cline 组合实战评测:能否替代 DeepSeek V3 和 R1
  • OpenAI Codex 快速入门指南:工程级 AI 编程代理
  • 花生二手车交易平台全栈项目实战:Spring Boot 3 与 Vue 3 高并发架构
  • SpringBoot+Vue 乡村政务办公系统设计与实现
  • 初识 Git 与安装入门
  • Java 异常处理:捕获规则与自定义异常
  • 用 QQ 私聊打造全自动化运维助手
  • AI 长期记忆 8 种优化策略及 LangChain 代码实现
  • 鸿蒙金融理财全栈项目:上线运维、用户反馈与持续迭代
  • FLUX.1-dev 工作流:Midjourney 迁移指南与 Prompt 工程适配

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online