【问题标题】:Error during Tomcat startup - com.google.inject.internal.util.$ComputationException: java.lang.ArrayIndexOutOfBoundsExceptionTomcat 启动期间出错 - com.google.inject.internal.util.$ComputationException: java.lang.ArrayIndexOutOfBoundsException
【发布时间】:2016-10-12 08:42:34
【问题描述】:

我正在尝试在同一台服务器上运行另一个 Tomcat 实例。当我在第一个 Tomcat 7 上部署应用程序(Maven、Java 8、Guice 3.0、Jersey 1.19)时,它启动并运行良好。但是,另一个 Tomcat 7 中的相同应用程序无法正常启动:

java.util.logging.ErrorManager: 5
com.google.inject.internal.util.$ComputationException: java.lang.ArrayIndexOutOfBoundsException: 57912
    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)

...

Caused by: java.lang.ArrayIndexOutOfBoundsException: 57912
    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)

我尝试过Why is a lambda expression breaking guice error handling when i try to start jetty? 讨论答案,并从 Guice 3 切换到 4,但没有任何改变。

如何解决这个问题?

【问题讨论】:

  • 两个tomcat的java版本一样吗?我记得 Java7 -> Java8 中有关数组排序顺序或类似问题的一些问题,因此某些应用程序无法启动(其中包括 SoapUI)。
  • 当我在两个文件夹中执行 ./catalina.sh 版本时,我得到相同的 - JVM 版本:1.8.0_91-b14
  • 它在应用程序中注释 lambda 表达式后工作。但是,我忘记了我已经包含了使用 Guice 3 的库。所以在将它更新到 Guice 4 后,Tomcat 启动了。
  • 假设您可以指定您的最后一条评论作为该问题的解决方案 :-)

标签: java tomcat jersey guice


【解决方案1】:

它在应用程序中注释 lambda 表达式后工作。但是,我忘记了我已经包含了也使用 Guice 3 的 .jar 库,所以在将其更新到 Guice 4 后,Tomcat 启动了:

<dependency>
    <groupId>com.google.inject</groupId>
    <artifactId>guice</artifactId>
    <version>4.1.0</version>
</dependency>

【讨论】:

    猜你喜欢
    • 2012-07-07
    • 2013-12-07
    • 1970-01-01
    • 2017-05-21
    • 2017-05-24
    • 2014-11-23
    • 2020-08-07
    • 1970-01-01
    • 2012-04-13
    相关资源
    最近更新 更多