2016-10-12 13 views
1

別のTomcatインスタンスを同じサーバー上で実行しようとしています。最初のTomcat 7にアプリケーション(Maven、Java 8、Guice 3.0、Jersey 1.19)をデプロイすると、起動して正常に動作します。私はWhy is a lambda expression breaking guice error handling when i try to start jetty?ディスカッション答えにしようと、4にGuiceの3から切り替えている

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) 

が、それは何も変更しませんでした。しかし、他のTomcat 7で同じアプリケーションが正常に起動しません。

この問題を解決するにはどうすればよいですか?

+1

両方のtomcatsでjavaバージョンは同じですか?私は配列の並べ替えの順序やJava7 - > Java8のようなものに関するいくつかの問題を覚えているので、いくつかのアプリケーションは起動できませんでした(それらの中のSoapUI)。 – lospejos

+0

両方のフォルダで./catalina.shバージョンを実行すると、同じ結果が得られます。 JVMバージョン:1.8.0_91-b14 – Justas

+0

これは、アプリでラムダ式をコメントした後に機能します。しかし、私はGuice 3を使ったライブラリを持っていたことを忘れていました。そこでGuice 4にアップデートした後、Tomcatが起動しました。 – Justas

答えて

2

これは、アプリでラムダ式をコメントした後に機能します。しかし、Guice 3を使用しているGuar 3ライブラリもGuice 4にアップデートしたことを忘れてしまいました。Tomcatが起動しました:

<dependency> 
    <groupId>com.google.inject</groupId> 
    <artifactId>guice</artifactId> 
    <version>4.1.0</version> 
</dependency> 
関連する問題