当前位置: 首页 > 知识库问答 >
问题:

使用Jetty 9.2的META-INF/versions/9/*和Elasticsearch 6.2.2上的字节码扫描错误

上官波鸿
2023-03-14

在Superdev模式下使用最新版本的Elasticsearch(6.1.1以上)运行GWT应用程序会产生以下错误(见下文)。很明显,这个问题与过时的Jetty版本有关。有人知道如何替换GWT中的Jetty或更改IntelliJ中的配置以使用不同的服务器吗?在我看来,GWT文档中的说明编写得很糟糕。当然,在理想情况下,我希望有一种方法可以直接在GWT中更改Jetty,以便所有项目都可以使用更新的版本,而不是使用自己的服务器配置每个项目。

2018-06-20 16:17:13.923:INFO:oejs.Server:main: jetty-9.2.z-SNAPSHOT
Starting Jetty on port 8888
   [WARN] Failed startup of context c.g.g.d.s.j.WebAppContextWithReload@39f6694a{/,file:/Users/../Library/Caches/IntelliJIdea2018.1/gwt/....86a74491/....92536ba7/run/www/,STARTING}{/Users/../Library/Caches/IntelliJIdea2018.1/gwt/....86a74491/....92536ba7/run/www}
MultiException[java.lang.RuntimeException: Error scanning entry META-INF/versions/9/org/elasticsearch/core/internal/io/Streams.class from jar file:/Users/../Library/Caches/IntelliJIdea2018.1/gwt/.86a74491/.92536ba7/run/www/WEB-INF/lib/elasticsearch-core-6.3.0.jar, java.lang.RuntimeException: Error scanning entry META-INF/versions/9/org/elasticsearch/monitor/jvm/JvmPid.class from jar file:/Users/../Library/Caches/IntelliJIdea2018.1/gwt/...86a74491/.92536ba7/run/www/WEB-INF/lib/elasticsearch-6.3.0.jar]
    at org.eclipse.jetty.annotations.AnnotationConfiguration.scanForAnnotations(AnnotationConfiguration.java:536)
    at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:447)
    at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:479)

共有1个答案

宫俊才
2023-03-14

类路径中有一个JEP238多版本Jar文件。

由前缀项META-INF/versions/9/证明。

JEP238是Java9引入的一个概念。

Jetty支持在字节码扫描期间处理JEP238多版本JAR文件,直到Jetty 9.4.9才引入。v20180320(2018年3月)。

如果您需要使用Jetty 9.2. x,那么您必须不使用JEP238 MultiReleasJAR Files。

如果必须使用JEP238多版本JAR文件,则必须至少升级到Jetty 9.4.9。v20180320。

 类似资料:
  • 我制作了一个简单的程序,根据公式中的3个数字计算增量。但是,小数点后的分数和数字(如3.33、3/4)有问题。如果我将其替换为任何字母,则会出现错误: 线程“main”java中出现异常。util。java上的InputMismatchException。base/java。util。扫描仪。throwFor(Scanner.java:939)访问java。base/java。util。扫描仪。下

  • 维克托来自智利。 我有一个quarkus应用程序,我想为Oracle数据库使用quarkus hibernate orm,但我的实体类在第三方jar中,所以我只是将依赖项放在quarkus hibernate orm依赖项下面的pom(实体类)中,当然还有其他quarkus依赖项。 我尝试了这个:如何在Quarkus为外部模块中的类创建Jandex索引 jandex插件和beans.xml解决方案

  • 好吧,所以我试图做一些看起来应该相当简单的事情,但是有了这些新的NIO接口,事情让我很困惑!这是我想做的,我需要扫描文件作为字节,直到遇到某些字节!当我遇到那些特定的字节时,需要抓住数据的那一部分并对其做一些事情,然后继续前进并再次这样做。我本以为在ByteBuffer中有了所有这些标记、位置和限制,我就能做到这一点,但我似乎无法让它工作!这是我到目前为止... 测验正文: Test.java:

  • 您可以使用ML kit来识别并且解码条码。 有关此API使用的示例,请参阅GitHub上的ML Kit快速入门示例。 在开始之前 如果您还没有将Firebase添加到您的程序当中,那您可以从开始指南来开始您的工作。 将ML kit库放进您的Podfile中: pod 'Firebase/Core' pod 'Firebase/MLVision' pod 'Firebase/MLVisionBarc

  • 问题内容: 好的,所以我试图做的事情看起来应该很简单,但是有了这些新的NIO接口,事情就让我感到困惑!这是我要尝试的操作,我需要以字节为单位扫描文件,直到遇到某些字节为止!当我遇到这些特定字节时,需要获取该数据段并对其进行处理,然后继续并再次执行此操作。我本以为有了ByteBuffer中的所有这些标记,位置和限制,我就可以做到这一点,但是我似乎无法使其正常工作!到目前为止,这就是我所拥有的.. t

  • 在更新了我的LibGDX项目中的所有库后,我得到了一个错误 “导致重复条目” 项目级构建。分级: Android级别的构建。Gradle: