2017-05-23 70 views
0

我試圖將Firebase添加到使用eclipse構建的舊java appengine項目中。當我嘗試打電話FirebaseApp.initializeApp(選項),我結束了超跑開發模式在本地服務器上此錯誤(服務器端錯誤,而不是客戶端):集成Firebase時沒有這樣的方法stringIsNullOrEmpty

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 4.6霓虹燈.3這些庫:

enter image description here

我已經加載番石榴來源罐子,並設置Strings.java:67一個斷點,它擊中線和Eclipse說,它是從預期的番石榴jar文件拉。但是,如果它看起來不能找到Platform.string.IsNullOrEmpty方法,即使我在eclipse jar分解視圖中看到它,也會看到它。

我試過類似的問題guava20.0。

什麼可能導致jvm在它自己的jar文件中找不到方法?任何調試建議?

回答

0

我能夠通過刪除我所有的WEB-INF/lib jar文件,添加庫引用,並將它們全部更新到最新版本來解決此問題。我不知道哪個庫的組合是造成問題,但以供將來參考,我結束了以下配置: enter image description here

而且這套jar文件:

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

相關問題