12

我从 Apache Tomcat 站点上的演示幻灯片中看到,Java 11 已在计划中,但它引用了 Java 11 JRE,但该 JRE 不可用。Tomcat 将如何处理没有可供安装的 JRE?

4

4 回答 4

27

tl;博士

只需下载并使用从多家供应商处获得的 JDK。但请务必阅读许可(特别是甲骨文将条款更改为甲骨文品牌的 JDK)。

仅供参考:我一直在运行:

…在macOS Mojave上没有问题。

不再有 JRE †</sup>,只有 JDK

Oracle 不再打算让最终用户安装 JRE 或 JDK。浏览器中的Java 小程序和Java Web Start应用程序交付都将被逐步淘汰,最终用户不再需要 JRE。基于 Java 的应用程序应捆绑自己的 Java 实现。唯一有意识地安装 JDK 的人是开发人员和服务器端系统管理员。

重要的:

这是一个流程图,可以帮助您在提供 Java 11 实现的各种供应商中找到并做出决定。

帮助从不同供应商处查找和选择 Java 11 实现的流程图。


选择 Java 供应商的动机


†</sup>如果您坚持使用 JRE 而不是 JDK,请在 AdoptOpenJDK.net 的“其他平台”链接下四处寻找。请参阅matson kepson 的回答。但我建议只使用JDK。

于 2019-02-17T21:18:21.827 回答
6

只需使用 JDK。

JRE 是最低要求。JDK 是它的超集。

另请参阅来自 tomcat-users 邮件列表的线程。

于 2018-09-30T11:57:40.297 回答
4

采用OpenJDK.net

查看 AdoptOpenJDK 项目网站,了解基于OpenJDK的 Java 构建。

我已经使用他们的夜间构建来解决 JDK 包中缺少 JRE 的问题https://adoptopenjdk.net/nightly.html?variant=openjdk11

但是到目前为止,他们在 JRE 构建方面存在问题,请搜索 2018 年 11 月 9 日之前的构建,直到他们解决了这个问题。错误链接https://github.com/AdoptOpenJDK/openjdk-build/issues/796

每晚构建 OpenJDK

于 2018-12-17T12:37:48.417 回答
0

我可能来晚了一点,但我会提到我在使用 Adopt OpenJDK 11 及其 Hotspot 选项运行 Tomcat 9 时没有问题。

此外,Tomcat 9 的默认实现依赖于 log4j2。如果您要在短时间内迁移大量应用程序,这可能是一个问题。我最终能够使 Tomcat9/Java11 与 log4j 1.2.xx 一起工作,这样我就可以延迟日志机制的迁移。基本上,我从我的 Java 8 / Tomcat 8 实现中添加了 log4j JAR 和 log4j.xml,然后修改了设置,但我不是 100% 确定我所做的所有更改。希望这些信息即使不完整也能帮助那些处于类似情况的人,因为没有太多关于如何使其工作的信息。

于 2020-08-08T21:16:09.537 回答