我正在编写一个利用Firebase和RealtimeDB的Java应用程序。在JUnit中模拟Firebase
在写我的单元测试,我遇到了在一个相当奇怪的问题火力地堡类不能内部JUnit的加载,扔的NoSuchMethodError: java.lang.NoSuchMethodError: com.google.common.primitives.UnsignedInteger.asUnsigned(I)Lcom/google/common/primitives/UnsignedInteger;
我已经成功地追查利用到火力地堡一个不同于Guava版本的版本,但是即使我强制使用Guava 19.0(通过Maven依赖关系排除机制),我仍然遇到同样的错误,显然是在FirebaseOptions类被加载时(确切位置:com.google.firebase.FirebaseOptions$Builder.setServiceAccount(FirebaseOptions.java:77)
)。
编辑: 该问题仅出现在测试运行期间,在运行时,Guava库正确加载。
有没有人有任何想法如何妥善提供Firebase的番石榴图书馆?
添加您的依赖项,因为这看起来像旧版本的番石榴 – Hrabosch
@Hrabosch我试过了,都是通过明确添加Firebase POM中的Guava,并让Maven以传递方式解决它(它具有,我可以看到它在清除后重新出现在我的本地Maven缓存中),但无济于事。 –