集成firebase

时间:2017-05-23 01:44:51

标签: google-app-engine firebase guava

我正在尝试将Firebase添加到使用eclipse构建的旧java appengine项目中。当我尝试调用FirebaseApp.initializeApp(选项)时,我在运行超级开发模式的本地服务器上遇到此错误(服务器端错误,而不是客户端):

Caused by: java.lang.NoSuchMethodError: com.google.common.base.Platform.stringIsNullOrEmpty(Ljava/lang/String;)Z
at com.google.common.base.Strings.isNullOrEmpty(Strings.java:67)
at com.google.firebase.FirebaseApp.<init>(FirebaseApp.java:79)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:168)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:155)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:142)

我在eclipse Neon 4.6.3上使用这些库:

enter image description here

我已经加载了番石榴源jar并在Strings.java:67上设置了一个断点,它点击了该行,eclipse说它正在从预期的guava jar文件中提取它。但是如果它似乎无法找到Platform.string.IsNullOrEmpty方法,即使我在eclipse jar爆炸视图中看到它,也应该这样做。

我尝试过类似问题的guava20.0。

什么可能导致jvm在它自己的jar文件中找不到该方法?有任何调试建议吗?

1 个答案:

答案 0 :(得分:0)

我能够通过删除所有WEB-INF / lib jar,添加库引用并将它们全部更新到最新版本来解决这个问题。我不确定哪个库的组合导致了问题,但为了将来的参考,我最终得到了以下配置: enter image description here

这套罐子:

appengine-api-1.0-sdk-1.9.53.jar        google-api-client-servlet-1.22.0.jar      gwt-servlet.jar
appengine-api-labs.jar                  google-http-client-1.22.0.jar             httpclient-4.0.1.jar
appengine-endpoints-deps.jar            google-http-client-appengine-1.22.0.jar   httpcore-4.0.1.jar
appengine-endpoints.jar                 google-http-client-jackson2-1.22.0.jar    jackson-core-2.1.3.jar
appengine-jsr107cache-1.9.53.jar        google-http-client-jdo-1.22.0.jar         java-json.jar
asm-5.0.4.jar                           google-oauth-client-1.22.0.jar            jdo-api-3.0.1.jar
firebase-admin-4.1.7.jar                google-oauth-client-appengine-1.22.0.jar  jsr107cache-1.1.jar
gin-2.1.2.jar                           google-oauth-client-servlet-1.22.0.jar    jta-1.1.jar
google-api-client-1.22.0.jar            guava-20.0.jar                            log4j.jar
google-api-client-appengine-1.22.0.jar  gwt-gae-channel-2.0.0.jar                 twitter4j-core-4.0.4.jar