elasticsearch - 带有Elasticsearch-rest-high-level-client的ElasticSearch代码未部署在嵌入式Jetty 8中

标签 elasticsearch guava guice embedded-jetty jetty-8

我们正在使用ElasticSearch 6.8.2。我们的应用程序是用Java编写的。以前我们使用transport Client。运行正常。但是现在我们要升级到elasticsearch-rest-high-level-client。但是在更改代码并消除了所有编译问题之后,在嵌入式Jetty中进行部署时遇到了以下问题

com.google.inject.internal.util.$ComputationException: java.lang.ArrayIndexOutOfBoundsException: 19744
    at com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:553)
    at com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:419)
    at com.google.inject.internal.util.$CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
    at com.google.inject.internal.util.$StackTraceElements.forMember(StackTraceElements.java:53)
    at com.google.inject.internal.Errors.formatInjectionPoint(Errors.java:712)
    at com.google.inject.internal.Errors.formatSource(Errors.java:684)
    at com.google.inject.internal.Errors.format(Errors.java:555)
    at com.google.inject.CreationException.getMessage(CreationException.java:48)
    at java.lang.Throwable.getLocalizedMessage(Throwable.java:391)
    at java.lang.Throwable.toString(Throwable.java:480)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.setFailed(AbstractLifeCycle.java:204)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:768)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
    at org.eclipse.jetty.server.Server.doStart(Server.java:282)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at omaelisa.core.infrastructure.test.jetty.Jetty.start(Jetty.java:119)
    at omaelisa.core.infrastructure.test.jetty.StartApplication.start(StartApplication.java:78)
    at omaelisa.core.infrastructure.test.jetty.StartApplication.start(StartApplication.java:67)
    at omaelisa.ui.ya.CorporateApplicationStarter.main(CorporateApplicationStarter.java:24)
    at omaelisa.ui.ya.StartYa$StartYaWithTestContext.main(StartYa.java:177)
    at omaelisa.ui.ya.StartYa$StartYaWithTestContextWithPet3.main(StartYa.java:60)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 19744
    at com.google.inject.internal.asm.$ClassReader.<init>(Unknown Source)
    at com.google.inject.internal.asm.$ClassReader.<init>(Unknown Source)
    at com.google.inject.internal.asm.$ClassReader.<init>(Unknown Source)
    at com.google.inject.internal.util.$LineNumbers.<init>(LineNumbers.java:62)
    at com.google.inject.internal.util.$StackTraceElements$1.apply(StackTraceElements.java:36)
    at com.google.inject.internal.util.$StackTraceElements$1.apply(StackTraceElements.java:33)
    at com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:549)
    ... 28 more

我们正在使用谷歌 Guava 3.0。
请让我知道如何解决。

最佳答案

Eclipse Jetty 8 is EOL (End of Life).

Upgrade ASAP, as you are vulnerable to many things.



您的ASM jar太旧了。
Caused by: java.lang.ArrayIndexOutOfBoundsException: 19744
    at com.google.inject.internal.asm.$ClassReader.<init>(Unknown Source)
    at com.google.inject.internal.asm.$ClassReader.<init>(Unknown Source)
    at com.google.inject.internal.asm.$ClassReader.<init>(Unknown Source)

有关详细信息,请参见先前的答案https://stackoverflow.com/a/26496604/775715

关于elasticsearch - 带有Elasticsearch-rest-high-level-client的ElasticSearch代码未部署在嵌入式Jetty 8中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59107654/

相关文章:

search - Elasticsearch:在列表中搜索字段 null OR

java.lang.NoSuchMethodError : org. openqa.selenium.support.ui.Wait.until(Lcom/google/common/base/Function;)使用selenium-server-standalone-3.12.0

java - 使用 Guice 设置属性的正确方法是什么?

java - Google Guice & Jersey 在应用程序包过滤时对同一个 servlet 的多个 URL 模式

elasticsearch - PUT索引导致xbyte错误

c# - 使用嵌套的elasticsearch自动完成映射

java - 使用 Appdynamics 时是否需要 ELK-stack 或 Graphite?

java - 带有HBase的Hadoop:类路径中存在 Guava jar ,但是执行抛出 “ThreadFactoryBuilder”类未找到类异常

Java 获取大输入流的大小导致内存不足

java - 动态决定在 Guice 中注入(inject)哪个类