【问题标题】:Running project with Jetty 9.4.8 (Java 11)使用 Jetty 9.4.8 (Java 11) 运行项目
【发布时间】:2021-04-26 13:44:26
【问题描述】:

我正在尝试将我的项目更新到 Java 11 - OpenJDK_11.0.2(目前在 Java 8 上)。我正在使用 runjettyrun 和 Jetty 版本 9.4.8.v20171121。

我可以在 Java 8 上毫无问题地运行该项目,但如果我切换到 Java 11,我将收到以下错误消息:

MultiException[java.lang.RuntimeException: Error scanning file /Users/.../target/classes/.../entities/InventoryItemWithEnum.class, java.lang.RuntimeException: Error scanning file /Users/.../target/classes/.../entities/NeededItem.class, java.lang.RuntimeException: Error scanning file /Users/.../target/classes/.../entities/InventorySnapshot.class, java.lang.RuntimeException: Error scanning file /Users/.../target/classes/.../entities/InventoryItemAmount.class, java.lang.RuntimeException: Error scanning file /Users/.../target/classes/.../entities/TransferOrders.class, java.lang.RuntimeException: Error scanning file /Users/.../target/classes/.../entities/ItemSets.class, java.lang.RuntimeException: Error scanning file /Users/.../target/classes/.../entities/SearchSerialnumberView.class]
|   at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:717)
|   at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:832)
|   at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:161)
|   at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:468)
|   at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
|   at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
|   at java.base/java.lang.Thread.run(Thread.java:834)
|Suppressed: 
|   |java.lang.RuntimeException: Error scanning file /Users/.../target/classes/.../enumerations/Location.class
|   |   at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:746)
|   |   at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:832)
|   |   at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:161)
|   |   at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:468)
|   |   at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
|   |   at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
|   |   at java.base/java.lang.Thread.run(Thread.java:834)
|   |Caused by: 
|   |java.lang.IllegalArgumentException
|   |   at org.objectweb.asm.ClassReader.<init>(ClassReader.java:160)
|   |   at org.objectweb.asm.ClassReader.<init>(ClassReader.java:143)
|   |   at org.objectweb.asm.ClassReader.<init>(ClassReader.java:418)
|   |   at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:933)
|   |   at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:740)
|   |   at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:832)
|   |   at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:161)
|   |   at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:468)
|   |   at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
|   |   at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
|   |   at java.base/java.lang.Thread.run(Thread.java:834)

【问题讨论】:

  • 根本原因是旧版本的 asm 能够扫描较新的类
  • 它不仅仅是asm,它也是较旧的 Jetty 实现,它不包含要扫描的 JAR 中的更新排除内容列表(Java 9 / JEP-238 带来的内容) )。

标签: java jetty java-11 java-platform-module-system


【解决方案1】:

您必须升级您的 Jetty 版本。

9.4.9 是第一个支持 Java 9 的版本。

Error scanning entry "module-info.class" when starting Jetty server

9.4.13 是第一个支持 Java 11 的版本。

Spring : Migrating to OpenJDK-10 not working, mvn install is working

您希望使用 9.4.40,因为低于 9.4.39 的版本在不同方面存在漏洞。

https://www.eclipse.org/jetty/security_reports.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    相关资源
    最近更新 更多