ApacheTomcat和Java11

ApacheTomcat和Java11,tomcat,java-11,Tomcat,Java 11,我从ApacheTomcat站点上的演示幻灯片中看到,Java11已经在计划中,但它提到了Java11JRE,但它不可用。Tomcat将如何处理没有可安装JRE的情况 只需使用JDK即可 JRE是最低要求。JDK是它的超集 另请参见tomcat用户邮件列表。采用OpenJDK.net 请查看AdoptOpenJDK项目网站,了解基于的Java构建 下载最新的JRE和JDK: 对于源代码: 我使用了他们的夜间构建来解决JDK包中缺少JRE的问题 但到目前为止,他们的JRE版本存在问题。请在20

我从ApacheTomcat站点上的演示幻灯片中看到,Java11已经在计划中,但它提到了Java11JRE,但它不可用。Tomcat将如何处理没有可安装JRE的情况

只需使用JDK即可

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

另请参见tomcat用户邮件列表。

采用OpenJDK.net 请查看AdoptOpenJDK项目网站,了解基于的Java构建

  • 下载最新的JRE和JDK:
  • 对于源代码:
我使用了他们的夜间构建来解决JDK包中缺少JRE的问题

但到目前为止,他们的JRE版本存在问题。请在2018年11月9日之前搜索版本,直到他们解决此问题。链接到bug

tl;博士 只需下载并使用一个JDK,它可以从任何一家供应商处获得。但一定要阅读许可条款(特别是Oracle将条款更改为Oracle品牌的JDK)

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

  • Java 11.0.2上的Tomcat 9.0.14,使用来自的产品
  • 来自Java 13的Tomcat 9.0.26
…毫无问题地继续

没有更多的JRE†,只有JDK Oracle不再打算让最终用户安装JRE或JDK。在某种程度上,浏览器和应用程序交付都被淘汰,最终用户不需要JRE。基于Java的应用程序需要捆绑自己的Java实现。有意识地安装JDK的人只有开发人员和服务器端系统管理员

重要:

  • 清楚地了解项目的性质,如
  • 阅读由Java社区主要成员撰写的白皮书
下面是一个流程图,可以帮助您在提供Java11实现的各个供应商中查找和决定




†如果您坚持使用JRE而不是JDK,请在他们的“其他平台”链接下使用OpenJDK.net。看见但我建议只使用JDK

我在这篇文章中可能会有点晚,但我要提到的是,我在使用OpenJDK 11及其热点选项运行Tomcat 9时没有遇到任何问题


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

JRE不可用。您始终可以使用jlink自己创建并共享它,以便其他人可以下载。@ZhekaKozlov它不是JRE,而是一个自定义的运行时环境,具有所需的模块子集。@RostislavKrasny有什么区别?@ZhekaKozlov它不是通用的,可能只包含Java API的子集。@RostislavKrasny为什么不是通用的?包含完整的集合有什么问题?您链接到的tomcat用户线程中有一条注释值得注意:您需要将安装程序指向jdk-11安装的根目录。如果安装OracleJDK,安装程序将通过注册表找到它。如果您使用OpenJDK,您需要自己选择安装的根目录(也称为JAVA_HOME)。对于我们的用户来说,这相对简单,他们所需要的只是确保安装了特定版本的JRE(来自Java、com)然后,他们只需要连接到我们已安装的服务器,应用程序就会出现在web start窗口中。现在,我们需要获得一个web start备选方案,该方案需要下载和安装,我们需要创建并提供下载的运行时(可能捆绑在一起)@SAHild请参阅中的流程图,以获取Java模块化工具,将JVM与应用程序捆绑在一起。您也可以在主下载中找到它,方法是选择您的版本,然后选择“其他平台”。选择平台后,将有到JRE和JDK的单独链接。这样,您将处理一个稳定的版本,而不是一个夜间构建。请不要在回答中提出问题。点击页面顶部的链接,提出自己的问题。