You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建Spring Boot新项目时遇JVM版本自动变更问题求助

Spring Boot项目JVM版本自动从11切换到17的兼容问题解决

问题描述

创建Spring Boot新项目时,自动生成的help.md文件提示JVM版本被从11自动变更为17:

The following was discovered as part of building this project:

  • The JVM level was changed from '11' to '17', review the JDK Version Range on the wiki for more details.

后续出现其他版本兼容问题,即使手动将项目结构切换为Java 11 SDK,兼容问题依然存在。

核心原因

Spring Boot 3.x及以上版本默认要求JDK 17,若创建项目时选择了这类新版本,Maven/Gradle等构建工具会自动将项目的JVM目标版本设为17。仅修改IDE的项目SDK会与构建配置冲突,导致兼容问题持续存在。

解决方案

1. 匹配Spring Boot与JDK版本

如果需要继续使用JDK 11,创建新项目时直接选择Spring Boot 2.x系列版本(Spring Boot 2.x兼容JDK 8至17),从根源上避免自动升级JVM版本。

2. 同步修改构建配置文件

手动修改IDE SDK后,必须同步调整构建工具的配置,确保版本一致:

  • Maven项目:在pom.xml中添加或修改如下配置:
    <properties>
        <java.version>11</java.version>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    
  • Gradle项目:在build.gradle中配置:
    java {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }
    

3. 清理并重新构建

执行构建工具的清理命令,再重新构建项目,确保配置生效:

  • Maven:运行mvn clean install
  • Gradle:运行gradle clean build

4. 检查IDE的细节配置

  • 确认IDE的项目SDK已设置为JDK 11
  • 检查模块的语言级别是否设为11,避免IDE使用JDK 17的语法规则进行检查

内容的提问来源于stack exchange,提问作者thekaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 04:55:18