首页 > 解决方案 > 添加弹性搜索高级客户端依赖项后 Tomcat 未启动

问题描述

我有一个现有项目部署到 Tomcat v 8.5 中。

添加弹性搜索高级客户端依赖项后,我在启动服务器时遇到异常。

供参考。之前我添加了一个 main 方法并编写了一些基本代码来在 ES 高级客户端上执行 POC,那时我不得不从其他依赖项中排除几个依赖项,因为我是 ClassNotFoundException。

有人可以帮忙吗?

 <dependency>
                <groupId>org.elasticsearch.client</groupId>
                <artifactId>elasticsearch-rest-high-level-client</artifactId>
                <version>7.6.1</version>
 </dependency>

尽管异常跟踪没有说明与弹性搜索相关的任何内容,但是当我删除依赖项服务器时,它会毫无问题地启动。

例外是 -->

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/register-services]]
  at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:939)
  at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/register-services]]
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
  ... 6 more
Caused by: org.apache.tomee.catalina.TomEERuntimeException: org.apache.openejb.OpenEJBException: Unable to create annotation scanner for web module register-services: null
  at org.apache.tomee.catalina.TomcatWebAppBuilder.loadApplication(TomcatWebAppBuilder.java:2299)
  at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1187)
  at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1124)
  at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
  at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
  at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  ... 6 more
Caused by: org.apache.openejb.OpenEJBException: Unable to create annotation scanner for web module register-services: null
  at org.apache.openejb.config.DeploymentLoader.addWebModule(DeploymentLoader.java:886)
  at org.apache.openejb.config.DeploymentLoader.load(DeploymentLoader.java:233)
  at org.apache.tomee.catalina.TomcatWebAppBuilder.loadApplication(TomcatWebAppBuilder.java:2297)
  ... 12 more
Caused by: java.lang.IllegalArgumentException
  at org.apache.xbean.asm5.ClassReader.<init>(Unknown Source)
  at org.apache.xbean.asm5.ClassReader.<init>(Unknown Source)
  at org.apache.xbean.asm5.ClassReader.<init>(Unknown Source)
  at org.apache.xbean.finder.AnnotationFinder.readClassDef(AnnotationFinder.java:1169)
  at org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:147)
  at org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:160)
  at org.apache.openejb.config.FinderFactory$OpenEJBAnnotationFinder.<init>(FinderFactory.java:546)
  at org.apache.openejb.config.FinderFactory.newFinder(FinderFactory.java:267)
  at org.apache.openejb.config.FinderFactory.create(FinderFactory.java:80)
  at org.apache.openejb.config.FinderFactory.createFinder(FinderFactory.java:69)
  at org.apache.openejb.config.DeploymentLoader.addWebModule(DeploymentLoader.java:878)
  ... 14 more

Mar 17, 2020 7:16:37 PM sun.reflect.NativeMethodAccessorImpl invoke
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
  at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:939)
  at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  at org.apache.catalina.startup.Catalina.start(Catalina.java:655)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)
  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
  at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:947)
  at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  ... 6 more

标签: javaelasticsearchtomcatelasticsearch-high-level-restclient

解决方案


推荐阅读