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

Java程序运行报UnsupportedClassVersionError问题求助

解决方案

1. 修复终端的JDK环境变量

核心问题是终端运行用的是JDK8,而编译代码用的是JDK19,版本不匹配;同时JDK19的javac未加入系统路径,导致终端找不到该命令。

  • 先找到你的OpenJDK19安装目录,比如Windows下的C:\Program Files\OpenJDK\jdk-19.0.2,Linux/macOS下的/usr/lib/jvm/java-19-openjdk-amd64
  • Windows操作:
    1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
    2. 系统变量区域:
      • 新建JAVA_HOME,值填JDK19的安装路径
      • 编辑Path变量,新增%JAVA_HOME%\bin,并把这条移到最顶部(避免优先加载旧JDK)
    3. 关闭所有终端窗口重新打开,执行java -version和javac -version,确认显示的是OpenJDK19的版本
  • Linux/macOS操作:
    1. 打开终端编辑配置文件,bash用户编辑~/.bashrc,zsh用户编辑~/.zshrc,添加:
      export JAVA_HOME=/你的JDK19安装路径
      export PATH=$JAVA_HOME/bin:$PATH
      
    2. 执行source ~/.bashrc或source ~/.zshrc生效,再验证版本

2. 调整Maven编译配置(确保版本一致)

在你的pom.xml里加入编译插件配置,强制指定编译用的JDK版本,避免IDE和终端环境不一致:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.0</version>
            <configuration>
                <!-- 这里填19对应JDK19,要是想兼容JDK8就改成1.8 -->
                <source>19</source>
                <target>19</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
        <!-- 确保可执行jar的主类配置正确 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <!-- 替换成你的主类全路径,比如com.example.Main -->
                        <mainClass>你的主类完整路径</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>
  • 如果打算在JDK8上运行jar,把<source>和<target>改成1.8,同时检查代码里有没有用JDK8以后的API(比如var、Java11+的HttpClient等),有就替换成兼容写法。

3. 重新构建运行

  • 执行mvn clean package重新生成jar包
  • 再在终端运行java -jar programExample.jar jsonToRead.json jsonOutput.json,此时用的是JDK19环境,不会再报版本错误。

额外检查

  • 要是终端还是显示旧JDK版本,排查是不是有其他地方配置了JDK路径(比如系统里装了多个JDK,或者IDE终端继承了旧环境)
  • 确认IDE里的Maven使用的是JDK19:在IDE设置里找到Maven的运行JDK,指定为OpenJDK19

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 20:01:10