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

Spring Boot Maven项目报UnsupportedClassVersionError,如何升级Eclipse编译器至20?

解决Spring Boot(Maven)项目的UnsupportedClassVersionError预览特性问题

问题本质

你的报错核心是Java预览特性不跨版本兼容:

Error: LinkageError occurred while loading main class com.demoJwt.DemoJwtApplication
java.lang.UnsupportedClassVersionError: com/demoJwt/DemoJwtApplication (class file version 59.65535) was compiled with preview features that are unsupported. This version of the Java Runtime only recognizes preview features for class file version 64.65535

  • 类文件版本59对应Java 15,64对应Java 20
  • 你用Java 15编译了带预览特性的代码,但运行时用的是Java 20,而每个JDK版本仅支持自身编译的预览字节码,因此触发错误。

步骤1:安装Java 20 JDK

你当前IDE找不到Java 20,需先完成安装:

  • 从Oracle官网或OpenJDK发行版(如Adoptium)下载Java 20 JDK并完成安装
  • 配置系统环境变量JAVA_HOME指向Java 20的安装目录,同时确保PATH环境变量优先包含Java 20的bin目录

步骤2:在IDE中配置Java 20编译器

Eclipse/STS操作:

  • 打开Window > Preferences > Java > Installed JREs,点击Add选择Standard VM,指向Java 20安装目录,添加后勾选设为默认JRE
  • 进入Java > Compiler,在Compiler compliance level下拉菜单选择20
  • 若项目有单独配置,右键项目选择Properties > Java Compiler,勾选Enable project specific settings,选择20并勾选Use compliance from execution environment 'JavaSE-20' on the 'Java Build Path'

IntelliJ IDEA操作:

  • 打开File > Project Structure > Platform Settings > SDKs,点击+添加Java 20 SDK
  • 进入Project Settings > Project,设置Project SDK为Java 20,Project language level选择20(若需继续使用预览特性则选20 (Preview))
  • 进入Modules > Sources,将Language level设置为对应版本

步骤3:配置Maven的pom.xml

确保Maven编译时使用Java 20,添加或修改以下配置:

<properties>
    <!-- 指定编译源和目标版本为20 -->
    <maven.compiler.source>20</maven.compiler.source>
    <maven.compiler.target>20</maven.compiler.target>
    <!-- 若使用预览特性,需添加该参数 -->
    <maven.compiler.parameters>--enable-preview</maven.compiler.parameters>
</properties>

<build>
    <plugins>
        <!-- 配置maven编译插件支持Java 20 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.0</version> <!-- 确保插件版本支持Java 20 -->
            <configuration>
                <source>20</source>
                <target>20</target>
                <!-- 启用预览特性的编译参数 -->
                <compilerArgs>
                    <arg>--enable-preview</arg>
                </compilerArgs>
            </configuration>
        </plugin>
        <!-- Spring Boot插件配置预览特性启动参数 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <jvmArguments>--enable-preview</jvmArguments>
            </configuration>
        </plugin>
    </plugins>
</build>

步骤4:清理并重新编译

  • IDE内执行项目清理:Eclipse选Project > Clean,IntelliJ选Build > Rebuild Project
  • 命令行执行mvn clean install,确保编译过程无报错

启动验证

启动项目时,确保运行环境为Java 20;若使用了预览特性,启动参数需包含--enable-preview

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:47:52