Eclipse 上的 Glassfish:需要 JDK 而不是 JRE,而我已经有了 JDK

Glassfish on Eclipse: JDK required rather than a JRE while I already have JDK

我正在尝试在我的 Eclipse 上安装 Glassfish5。我有以下详细信息:

我的环境路径变量:C:\Program Files\Java\jdk-13.0.1

我也试过在它的末尾加上 bin

当我尝试安装 Glassfish 时,它给我 JDK required rather than JRE,请在附件中找到它。

我已经尝试了所有可用的解决方案,如这个问题,但没有任何效果。我正在使用 windows 10。我从这个 link.

安装了正确的 JDK 而不是 JRE

请让我知道我能做什么?谢谢。

When I try to install Glassfish it gives me JDK required rather than JRE

据我所知,Glassfish 5 不适用于任何 > 8 的 JDK 版本。或者更准确地说:

  • 我无法让 Glassfish 5 与任何 JDK > 8
  • 一起工作
  • 我找不到任何说明它适用于 Java 9 或更高版本的文档。

Oracle 没有任何关于这种情况的正式文档令人沮丧。

Please let me know what can I do?

除非必须使用 GlassFish,否则有一个简单的解决方法:使用 Payara instead, since it is based on GlassFish and works with JDK 11 on Eclipse.

Payara 版本 5.193.1 绝对适用于 JDK 11,因为我同时使用它们。

根据 https://javaee.github.io/glassfish/doc/5.0/release-notes.pdf,所需的 Java 版本是 "Oracle JDK 8 Update 144 or later."

"or later" 应该被解析为引用 "Update 144" 而不是 Java 主要版本。

因此,您的选择是:

  • 如果您想使用 Glassfish 5.0 或 5.1,请使用更新 144 或更高版本的 Oracle Java 8。 (它可能必须是 JDK 而不是 JRE,但 OpenJDK 最有可能工作。)

  • 切换到 Payara,这似乎是 Glassfish 代码行的开发重点所在。


为什么 Glassfish 不能在 Java 9 及更高版本上运行?

嗯,这很可能是由于 Java 9 个模块,以及随之而来的基础架构更改。我的猜测是 Glassfish 安装程序正在寻找 "tools.jar" 文件,该文件包含 Java 8 及更早版本中的 JDK 中的 Java 开发工具链。 Java 9 及以后的版本有所不同。