FirebaseとRealtimeDBを利用するJavaアプリケーションを作成しています。JUnitのFirebaseを模擬して
私のユニットテストを書いている間FirebaseクラスはJUnitの内側にロードすることができないという点で、私はNoSuchMethodErrorを投げ、かなり奇妙な問題に遭遇した: java.lang.NoSuchMethodError: com.google.common.primitives.UnsignedInteger.asUnsigned(I)Lcom/google/common/primitives/UnsignedInteger;
私が使用してFirebaseにそれを追跡するために管理してきましたプロジェクトの残りの部分とは違うGuavaのバージョンですが、私はGuava 19.0(Mavenの依存関係の除外メカニズムによる)を強制していますが、FirebaseOptionsクラスがロードされているときにも同じエラーが表示されます正確な位置:com.google.firebase.FirebaseOptions$Builder.setServiceAccount(FirebaseOptions.java:77)
)。
EDIT: 問題は実行時にテスト実行中に表示され、Guavaライブラリが正しく読み込まれます。
FirebaseにGuavaライブラリを適切に提供する方法についてのアイデアはありますか?
旧バージョンのGuava – Hrabosch
@Hraboschのように見えるので、あなたの依存関係を追加します。Firebase POMに明示的に追加されているGuavaを追加して、Mavenに過渡的に解決させるようにしました。パージ後にローカルのMavenキャッシュに再び現れます)、無駄になります。 –