我已经全新安装了 JDK 21 安装的 Netbeans 19 IDE。
java --version
给出输出 java 21 2023-09-19 LTS Java(TM) SE Runtime Environment (build 21+35-LTS-2513) Java HotSpot(TM) 64-Bit Server VM (build 21+35-LTS-2513, mixed mode, sharing)
然后我启动了netbeans并创建了一个新项目>服务器单击添加服务器>然后从列表中我只能看到选择netbeans 7.0.6作为最新版本。但我已经下载了 glassfish 7.0.9,netbeans 可以从 glassfish 目录中检测到它,所以我单击“下一步”进行添加。问题是 Netbeans 仍然将其视为 glassfish 7.0.6。当我尝试运行我的项目时,出现错误 Could not find Java SE Development Kit to start GlassFish Server,
但是在 glassfish/bin
目录中,我可以使用命令 ./asadmin start-domain domain1
启动 glassfish
如何正确地将 glassfish 7.0.9 注册到 netbeans 以及它是否受支持。我还确认 JDK 平台已正确添加,如附图所示。
总而言之,我已经在netbeans中尝试了glassfish 7.x.x的所有版本。我已经下载了一个独立实例并尝试将其注册到 netbeans。我使用 jdk 17 降级到 netbeans 18,并遵循相同的步骤,服务器工作了。
TLDR:
运行 JDK 21 时,无法在 NetBeans 19 中启动 GlassFish 7.0.9。根本不支持该组合。正如您所发现的,NetBeans 19 支持的最新 GlassFish 版本是 GlassFish 7.0.6。
解决方案:
等待 NetBeans 的下一个季度版本,它几乎肯定会支持 GlassFish 7.0.9 和 JDK 21。
解决方法:
正如您所指出的,您可以在 NetBeans 19 之外运行 GlassFish 7.0.9,并通过其管理控制台手动将应用程序部署到 GlassFish 服务器。这很乏味,但很简单,并且可能是合适的,因为自 GlassFish 7.0.6 以来已经进行了相当多的修复和增强。
解释:
这些是您正在使用的软件产品的发布日期:
这是很多尖端技术。显而易见的是,NetBeans 19 必然不能为其发布日期之后发布的产品提供正式支持,因为这些产品无法经过全面测试。因此,NetBeans 19 不正式支持 JDK 21 或 GlassFish 7.0.9。来自 NetBeans 19 发行说明:
Apache NetBeans 19 二进制版本需要 JDK 11+,并且官方 支持在 JDK 11、17 和 20 上运行。
同样,GlassFish 7.0.9 并未在 JDK 21 下得到正式支持,其发行说明明确指出:
此版本为 GlassFish 即将推出的 JDK 21 做好准备;它编译 并通过使用 OpenJDK 21ea35 的所有内部测试。几个TCK 也传递到 JDK 21,但 TCK 整体上不是 JDK 21 还兼容。
因此,即使 NetBeans 19 确实支持 GlassFish 7.0.9,在使用 JDK 21 时,GlassFish 本身也可能无法工作,并且肯定不会受支持。
备注: