求助:解决Windows环境下GlassFish启动JDK版本检测异常问题
解决GlassFish 4启动报错“GlassFish requires Java SE version 6. Your JDK is version 0”的问题
核心原因
GlassFish 4.x仅支持Java 7/8,完全不兼容Java 21,这是导致版本识别错误(显示JDK版本0)的根本原因。
解决方案
1. 匹配GlassFish与JDK版本
- 方案A:降级JDK到Java 8(推荐AdoptOpenJDK 8或Oracle JDK 8),GlassFish 4.x对Java 8支持最稳定
- 方案B:升级GlassFish到7.x版本,该版本支持Java 11/17/21,适配你的JDK 21环境
2. 正确配置AS_JAVA(Windows系统)
如果选择方案A,需修正GlassFish的JDK指向:
- 找到GlassFish安装目录下的
glassfish4\config\asenv.bat(Windows系统用.bat文件,而非.conf) - 打开文件后添加或修改如下内容:
替换路径为你的Java 8实际安装路径set AS_JAVA=C:\Program Files\Java\jdk1.8.xxx - 保存后关闭所有终端,重新打开执行
glassfish4/bin/asadmin start-domain
3. Eclipse项目同步配置
- 打开Eclipse的
Window > Preferences > Java > Installed JREs,添加Java 8的JDK并设置为默认 - 右键项目选择
Properties > Java Build Path,将JRE System Library切换为Java 8 - 进入
Run Configurations,找到GlassFish服务器配置,在JRE选项卡中指定Java 8的JDK
4. 验证配置
- 终端执行
echo %AS_JAVA%,确认输出为Java 8的安装路径 - 执行
%AS_JAVA%\bin\java -version,确认版本显示为Java 8
内容的提问来源于stack exchange,提问作者Đức Chính
相关产品推荐
相关产品推荐

