You need to enable JavaScript to run this app. IDEA运行Glassfish 6.2.0出现UnsupportedClassVersionError如何解决
优惠活动
大模型
产品
解决方案
定价
更多

IDEA运行Glassfish 6.2.0出现UnsupportedClassVersionError如何解决

问题根因

  • 第一个UnsupportedClassVersionError报错:你使用的Glassfish版本≥6.0,该版本系列基于Java 11(类文件版本号55)编译,本身不支持JDK 8作为运行环境,仅修改系统全局JDK版本无法解决,因为IDEA中Glassfish的运行JRE是单独配置的。
  • 第二个Glassfish 5部署报错:你安装的JDK 8版本≥8u231,Oracle在该版本更新中收紧了sun.security.provider包下内部类的访问权限,Glassfish 5自带的旧加密实现没有适配该调整,导致权限访问失败。

可选解决方案

方案一:使用匹配的高版本组合(推荐,稳定性更高)

  • 下载安装JDK 11或更高的LTS版本(如JDK 11、JDK 17)
  • 打开IDEA顶部菜单Run→Edit Configurations,找到你的Glassfish服务器配置项
  • 在Server标签页的JRE下拉选项中选择你安装的高版本JDK,保存配置
  • 重新启动Glassfish并部署项目即可,项目如果是JDK 8编译的也可以在高版本JDK下正常运行

方案二:保留JDK 8,适配Glassfish 5

  • 打开你的Glassfish 5安装目录,进入glassfish5/glassfish/modules/路径
  • 删除该路径下的sunjce_provider.jar文件,该文件是Glassfish自带的旧加密实现,和高版本JDK 8自带的加密实现冲突
  • 重启Glassfish,重新部署项目即可
  • 如果删除文件后仍报错,可将JDK 8降级到8u221及之前的版本,也可解决冲突

注意事项

IDEA中服务器的运行JRE和系统全局的环境变量是独立配置的,修改系统Java版本不会影响IDEA内的服务器运行环境,每次调整JDK版本后都要检查服务器配置中的JRE路径是否匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 10:24:03