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

Windows11下XAMPP加载Java Servlet遇版本兼容错误求助

在Windows 11+XAMPP 3.3.0中加载Java Servlet时的版本兼容问题

报错内容

Class has been compiled by a more recent version of the Java Runtime (class file version 64.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load the class.

XAMPP报错截图

当前环境

  • 操作系统:Windows 11
  • XAMPP版本:3.3.0
  • 已安装的Java环境:
    1. 命令行查询版本:
      java version "20.0.1" 2023-04-18
      Java(TM) SE Runtime Environment (build 20.0.1+9-29)
      Java HotSpot(TM) 64-Bit Server VM (build 20.0.1+9-29, mixed mode, sharing)
      
      命令行Java版本截图
    2. 控制面板显示版本:Version 8 Update 381 (build 1.8.0_381-b-09)
      控制面板Java版本截图

问题原因

错误里的版本号对应关系:

  • class file version 64.0:Java 20编译生成的类文件版本
  • class file version 52.0:Java 8(JRE 1.8)能识别的最高类文件版本

你的Servlet类是用Java 20编译的,但XAMPP内置的Tomcat正在使用JRE 1.8运行,版本不匹配导致无法加载类。

解决方案

方案1:用Java 8编译Servlet代码

编译时指定版本参数,保证生成的类文件兼容Java 8:

javac -source 1.8 -target 1.8 YourServlet.java

如果用IDE(比如Eclipse、IDEA),需要在项目设置里将编译版本改为1.8。

方案2:让XAMPP使用Java 20运行

  1. 找到XAMPP安装目录下的tomcat/bin/setclasspath.bat文件
  2. 编辑该文件,在开头添加:
    set JAVA_HOME=C:\Program Files\Java\jdk-20.0.1
    set JRE_HOME=C:\Program Files\Java\jdk-20.0.1\jre
    
    路径替换为你实际的Java 20安装路径
  3. 重启XAMPP的Tomcat服务

方案3:统一使用Java 8环境

如果不需要Java 20,直接卸载Java 20,确保系统环境变量中的JAVA_HOME指向Java 8的安装目录,重启XAMPP即可。

内容的提问来源于stack exchange,提问作者BS e-Learning

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 09:13:13