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

NetBeans 12.5中使用JDK11启动GlassFish 6.2.2失败如何解决?

解决方案

问题核心原因

NetBeans 12.5内置的GlassFish适配模块存在版本校验bug,会将GlassFish 6.2.x版本误判为不支持JDK11的旧版本,同时会强制注入错误的启动参数,才会触发你遇到的两类报错。

分步操作

第一步:修正GlassFish服务器的JDK绑定

  • 打开NetBeans,切换到「服务」标签页,找到「服务器」分类下的GlassFish 6.2.2条目,右键选择「属性」
  • 在弹出的属性窗口中,找到「Java平台」下拉选项,不要选择默认的JDK11,手动选中你本地已安装的正式版JDK11(需为OpenJDK/OracleJDK官方正式版,不要使用定制修改版JDK);如果下拉列表中没有对应选项,点击「管理平台」先将本地的JDK11添加到NetBeans平台列表后再选择。

第二步:固定GlassFish的JDK启动路径

  • 打开本地GlassFish 6.2.2的安装目录,进入glassfish/config文件夹
  • 编辑对应系统的环境配置文件:
    • Linux/macOS系统:编辑asenv.conf,末尾添加一行AS_JAVA="你的JDK11安装绝对路径"
    • Windows系统:编辑asenv.bat,末尾添加一行set AS_JAVA=C:\你的JDK11安装绝对路径
  • 保存文件后返回NetBeans的GlassFish属性页,清空「VM选项」输入框中的所有默认参数,留空即可。

第三步(可选,前两步失效时操作):禁用版本校验逻辑

  • 关闭NetBeans,打开NetBeans安装目录下的enterprise/modules文件夹
  • 找到org-netbeans-modules-j2ee-sun-appsrv81.jar文件,先备份到其他目录避免修改失败
  • 用压缩工具打开该jar包,找到org/netbeans/modules/j2ee/sun/appsrv81/ServerInstance.class字节码文件,将其中版本校验逻辑的最高支持版本号从6.1修改为6.2后保存替换
  • 重启NetBeans即可正常启动GlassFish。

报错说明

你尝试用JDK8启动时报错是正常现象:GlassFish 6.2.x基于Jakarta EE 9.1开发,最低运行要求就是JDK11,报错中的--add-opens是JDK9及以上版本才支持的模块参数,JDK8无法识别,无需再尝试JDK8启动方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:54:00