与Java 11兼容的最小Jetty版本



与Java11兼容的最小jetty版本是什么?

我目前使用的是Java7上运行的Jetty6.1.3。我尝试简单地升级jre和相关依赖,但它不工作。

这取决于您所说的"与java11兼容"是什么意思?

如果你的意思是"它只是工作",那么使用Jetty 9.4。x系列。

与java11兼容可以表示很多东西,不仅仅是运行时,还包括Java 9周围引入的新特性(如JEP 238和MultiRelease JAR文件)。

适用于Jetty 9.4。在与Java 11兼容之前,字节码扫描经历了几次迭代。

  1. 在Jetty 9.4.9上,字节码扫描必须忽略第三方jar文件中的JPMSmodule-info.class内容(在Java 8运行时运行时)。
  2. 在Jetty 9.4.9上,字节码扫描必须忽略Java 8运行时的META-INF/versions/*内容。
  3. 在Jetty 9.4.14的字节码扫描必须使用META-INF/versions/*进行字节码扫描Java 9+运行时智能
  4. 在Jetty 9.4.14上,字节码扫描必须更新以支持新的字节码格式(这意味着ASM库更新)

查看这些话题过去的答案

  • 使用Jetty 9.4.8 (Java 11)运行项目
  • Spring:迁移到OpenJDK-10不工作,mvn安装正在工作
  • . lang。从jar
  • 中扫描输入模块-info.class时出错
  • 扫描条目"module-info.class"启动Jetty服务器
  • Springboot GCP应用引擎部署失败
  • Swagger生成的JAX-RS服务器中断与ElasticSearch依赖

如果您的意思是"有效地使用Java 11",那么使用Jetty 10.0+

与往常一样,保持您的Jetty和JVM是最新的。(特别是如果你使用SSL/TLS,因为这个领域的变化非常快)

Eclipse Jetty

Eclipse Jetty网站说Jetty 10和Jetty 11至少都是为Java 11构建的。

tbody> <<tr>Jetty 10.0.xJetty 11.0.x
Jetty Version Servlet API License Java
Jetty 9.4.x3.1JavaEE 8
javax.servlet.*
Java 8
4.0JavaEE 8
javax.servlet.*
Java 11 +
5.0JakartaEE 9
jakartaee.servlet.*
Java 11 +

最新更新