问题描述
与Java 11兼容的最低Jetty版本是什么?
我目前使用的是运行在Java7上的Jetty6.1.3。我尝试简单地升级JRE和相关依赖项,但不起作用。
推荐答案
取决于您所说的与Java 11兼容的意思?
如果您指的是";,则使用Jetty 9.4.x系列。
与Java 11兼容可能意味着很多事情,不仅是运行时,还包括Java 9引入的新功能(如JEP 238和MultiRelease JAR文件)。
对于Jetty 9.4.x系列,字节码扫描经历了几次迭代才与Java 11兼容。
- 在Jetty 9.4.9上,字节码扫描必须忽略当时在第三方JAR文件中找到的JPMSmodule-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上,必须更新字节码扫描以支持新的字节码格式(这意味着A**库更新)
查看有关这些主题的过去答案
- Running project with Jetty 9.4.8 (Java 11)
- Spring : Migrating to OpenJDK-10 not working, mvn install is working
- java.lang.RuntimeException: Error scanning entry module-info.class from jar
- Error scanning entry "module-info.class" when starting Jetty server
- Springboot GCP app engine deployment failure
- Swagger generated JAX-RS server breaks with ElasticSearch dependency