2017-07-11 16 views
0

これをもっとわかりやすくしてください。 Tomcat 8、firebase-adminライブラリバージョン5.2.0、JSF 2.2、jersey-json 1.18.1、Jersey 1.14のJava 8でプロジェクトをセットアップしました。上記のコードは、エラーがサーバーの起動時に表示されていない削除された場合Java Firebase管理者はJerseyと互換性がありますか?

jul 11, 2017 5:23:47 PM org.apache.catalina.core.StandardContext loadOnStartup 
GRAVE: Servlet [Jersey Web Application] in web application [/core-web-app] threw load() exception 
java.lang.ArrayIndexOutOfBoundsException: 2560 
    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:136) 
    at com.sun.jersey.spi.scanning.servlet.WebAppResourcesScanner$2.f(WebAppResourcesScanner.java:104) 
    at com.sun.jersey.core.util.Closing.f(Closing.java:71) 


I realized that this error takes places when i Have the folowing code in my class: 



Task<UserRecord> task = FirebaseAuth.getInstance().createUser(request) 
       .addOnSuccessListener(userRecord -> { 

        System.out.println("Successfully created new user: " + userRecord.getUid()); 
        try { 

        createLocalAccount(account, userRecord.getUid()); 

       } catch (Exception exception) { 

        exception.printStackTrace(); 
       } 
       }) 
       .addOnFailureListener(e -> { 
        System.err.println("Error creating new user: " + e.getMessage()); 

       }); 

:サーバの起動時に は、私は以下のようにいくつかのエラーを得ました。 JerseyとFirebase Admin libの間に矛盾がありますか?どうすればこの問題を解決できますか?

答えて

1

これは、FirebaseとJerseyライブラリの間に互換性がないために発生したとは考えられません。少なくとも私はそのような問題を認識していません。 JerseyはJava 8のサポートをversion 1.19まで追加していないようです。したがって、あなたのJerseyバージョン(v1.14は約5歳です)をアップグレードしたいかもしれません。また、lambdaやその他のJava 8構文を取り除くこともできますが、問題が完全に解決されないことがあります。

Jerseyの古いバージョンで動作するJava 8コード(特にlambda)を取得することに問題があった開発者が同様のレポートを作成しています。例:Java 8 Lambda Expression Within REST Service not working

+0

ありがとう、Hiranya。私はJersey 2にアップデートしました。 – blackjack

関連する問題