GlassFish Server 4.0无法与JDK 21启动的问题及适配咨询
问题解决与相关说明
一、GlassFish 4.0 搭配JDK 21启动失败的处理及平台管理
GlassFish 4.0官方不支持JDK 21,它的兼容版本最高到JDK 8(部分小版本可兼容JDK 11),必须为它指定适配的JDK,操作方法如下:
1. NetBeans内管理Java平台
- 打开NetBeans,点「工具」→「Java平台」
- 点「添加平台」,选「Standard Java SE Platform」,找到你安装的JDK 8/JDK 11目录,完成添加
- 切换到「服务」面板,找到「服务器」下的GlassFish 4.0实例,右键点「属性」
- 在「Java平台」下拉框里选刚才添加的兼容JDK,保存后重启服务器
2. 手动修改GlassFish配置(备用)
如果NetBeans配置没生效,直接改GlassFish的配置文件:
- 找到GlassFish安装目录下的
glassfish/config/asenv.bat(Windows)或asenv.conf(Linux/Mac) - 修改
AS_JAVA参数,指向兼容JDK路径,比如:set AS_JAVA=C:\Program Files\Java\jdk1.8.0_391 - 保存后重启GlassFish即可
二、NetBeans 21 + JDK 21适用的Servlet版本
NetBeans 21适配JDK 21时,推荐用Jakarta Servlet 6.0,它是为JDK 17+设计的最新Servlet规范,能充分利用JDK 21的特性,同时也向下兼容Servlet 5.0、4.0等旧版本。
如果要指定版本:
- 新建Web项目时,在「框架」步骤选「Jakarta EE」,对应选Jakarta EE 10(即Servlet 6.0)
- 已有Maven项目的话,可修改
pom.xml里的依赖:<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> <scope>provided</scope> </dependency>
内容的提问来源于stack exchange,提问作者Jenisha
相关产品推荐
相关产品推荐

