与Java11兼容的最小jetty版本是什么?
我目前使用的是Java7上运行的Jetty6.1.3。我尝试简单地升级jre和相关依赖,但它不工作。
这取决于您所说的"与java11兼容"是什么意思?
如果你的意思是"它只是工作",那么使用Jetty 9.4。x系列。
与java11兼容可以表示很多东西,不仅仅是运行时,还包括Java 9周围引入的新特性(如JEP 238和MultiRelease JAR文件)。
适用于Jetty 9.4。在与Java 11兼容之前,字节码扫描经历了几次迭代。
- 在Jetty 9.4.9上,字节码扫描必须忽略第三方jar文件中的JPMS
module-info.class
内容(在Java 8运行时运行时)。 - 在Jetty 9.4.9上,字节码扫描必须忽略Java 8运行时的
META-INF/versions/*
内容。 - 在Jetty 9.4.14的字节码扫描必须使用
META-INF/versions/*
进行字节码扫描Java 9+运行时智能 - 在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构建的。
Jetty Version | Servlet API | License | Java | Jetty 9.4.x | 3.1 | JavaEE 8javax.servlet.* | Java 8 | Jetty 10.0.x
---|---|---|---|
4.0 | JavaEE 8javax.servlet.* | Java 11 + | |
5.0 | JakartaEE 9jakartaee.servlet.* | Java 11 + |