java.lang.ArrayIndexOutOfBoundsException:Java 11中长度247超出范围的索引5672

时间:2018-12-18 08:47:17

标签: java jersey

在使用Tomcat服务器进行部署时,出现运行时错误:

org.apache.catalina.core.ApplicationContext log
    SEVERE: StandardWrapper.Throwable
    java.lang.ArrayIndexOutOfBoundsException: Index 5672 out of bounds for length 247
            at org.objectweb.asm.ClassReader.readClass(Unknown Source)
            at org.objectweb.asm.ClassReader.accept(Unknown Source)
            at org.objectweb.asm.ClassReader.accept(Unknown Source)
            at com.sun.jersey.spi.scanning.AnnotationScannerListener.onProcess(AnnotationScannerListener.java:138)
            at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner$2.f(WebAppResourcesScanner.java:104)
            at com.sun.jersey.core.util.Closing.f(Closing.java:71)
            at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:102)
            at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:89)
            at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:89)
            at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:89)
            at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:89)
            at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:89)
            at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:89)
            at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:79)
            at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80)
            at com.sun.jersey.api.core.servlet.WebAppResourceConfig.init(WebAppResourceConfig.java:102)
            at com.sun.jersey.api.core.servlet.WebAppResourceConfig.<init>(WebAppResourceConfig.java:89)
            at com.sun.jersey.api.core.servlet.WebAppResourceConfig.<init>(WebAppResourceConfig.java:74)
            at com.sun.jersey.spi.container.servlet.WebComponent.getWebAppResourceConfig(WebComponent.java:668)
            at com.sun.jersey.spi.container.servlet.ServletContainer.getDefaultResourceConfig(ServletContainer.java:417)
            at com.sun.jersey.spi.container.servlet.ServletContainer.getDefaultResourceConfig(ServletContainer.java:584)
            at com.sun.jersey.spi.container.servlet.WebServletConfig.getDefaultResourceConfig(WebServletConfig.java:87)
            at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:699)
            at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:674)
            at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:205)
            at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:376)
            at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:559)
            at javax.servlet.GenericServlet.init(GenericServlet.java:158)
            at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1124)
            at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079)
            at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:971)
            at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4829)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:742)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:718)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
            at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:986)
            at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1858)
            at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
            at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
            at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
            at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
            at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:772)
            at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:426)
            at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1629)
            at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:304)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
            at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1174)
            at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1396)
            at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1400)
            at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1368)
            at java.base/java.lang.Thread.run(Thread.java:834)

2 个答案:

答案 0 :(得分:1)

尝试更新版本的asm,iirc,这是asm与您使用的Java版本不匹配

答案 1 :(得分:0)

我相信导致此问题的原因在于您的pom文件中。 从根本上讲,作为应用程序服务器的tomcat捆绑了自己的.jar文件,该文件可能会在其中部署的任何J2EE应用程序“捆绑”。

在许多情况下,Tomcat可能具有其中一个依赖项的新版本,在我看来,这里的罪魁祸首看起来像是asm,并且在您的依赖项中 mvn dependency:tree,尽管不是故意的,但您可能引用的是旧版的asm,如果可以,可以从pom依赖项中排除依赖项,然后尝试再次部署。

选项2:

要断言其是否为asm或任何其他依赖关系的类比,请尝试伪装到其他应用服务器(例如Glassfish或wildfly),并记下差异或相似之处。

相关问题