2016-11-08 64 views
3

必須切換到Firebase Admin 4.0.0 SDK後,才能在服務器上獲得此信息。任何人都知道我可以切換回舊的server-sdk依賴關係的方式,或者解決這個異常的方法嗎?在此期間我已經向FB彙報過了,但是想要讓服務器再次運行......目前我似乎完全陷入困境。

java.lang.NoClassDefFoundError: com/google/firebase/database/collection/LLRBNode$NodeVisitor 
    at com.google.firebase.database.snapshot.PriorityUtilities.NullPriority(PriorityUtilities.java:13) 
    at com.google.firebase.database.snapshot.NodeUtilities.NodeFromJSON(NodeUtilities.java:12) 
    at com.google.firebase.database.core.Repo.updateInfo(Repo.java:540) 
    at com.google.firebase.database.core.Repo.onServerInfoUpdate(Repo.java:494) 
    at com.google.firebase.database.core.Repo.onDisconnect(Repo.java:485) 
    at com.google.firebase.database.connection.PersistentConnectionImpl.onDisconnect(PersistentConnectionImpl.java:409) 
    at com.google.firebase.database.connection.Connection.close(Connection.java:82) 
    at com.google.firebase.database.connection.Connection.onReset(Connection.java:199) 
    at com.google.firebase.database.connection.Connection.onControlMessage(Connection.java:152) 
    at com.google.firebase.database.connection.Connection.onMessage(Connection.java:110) 
    at com.google.firebase.database.connection.WebsocketConnection.appendFrame(WebsocketConnection.java:226) 
    at com.google.firebase.database.connection.WebsocketConnection.handleIncomingFrame(WebsocketConnection.java:271) 
    at com.google.firebase.database.connection.WebsocketConnection.access$500(WebsocketConnection.java:20) 
    at com.google.firebase.database.connection.WebsocketConnection$WSClientTubesock$2.run(WebsocketConnection.java:67) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: com.google.firebase.database.collection.LLRBNode$NodeVisitor 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 21 more 

和稍後:

Tue Nov 08 14:49:06 CET 2016 [ERROR] RunLoop: Uncaught exception in Firebase Database runloop (3.0.0). Please report to [email protected] 
java.lang.NullPointerException 
at com.google.firebase.database.core.Repo.addEventCallback(Repo.java:518) 
at com.google.firebase.database.Query$3.run(Query.java:195) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

回答

3

Firebase剛剛發佈了firebase-admin的4.0.1版本。這增加了缺失的類,似乎正常工作。

這可能是管理得更好。 firebase-admin 4.0.0版本應該已經過測試,另外,在添加新的依賴項的同時殺死舊的依賴項是沒有意義的 - 應該有一些時間(至少幾天)在哪裏人們不會被迫升級。

+0

這個也可以... –

0

今天早上遇到了一模一樣的問題。顯然,Firebase將firebase-server-sdk的版本更新爲3.0.2,這是一個空包,迫使切換到firebase-admin 4.0.0。 儘管你仍然可以使用firebase-server-sdk 3.0.1。 在你的Maven文件提出:

<dependency> 
    <groupId>com.google.firebase</groupId> 
    <artifactId>firebase-server-sdk</artifactId> 
    <version>3.0.1</version> 
</dependency> 

礦具有

<version>[3.0.1,)</version> 

這使得它拉3.0.2,而不是3.0.1因爲它是最新的

一旦問題等價版本與firebase管理已解決,它可能是一個好主意,以切換到它

+0

不幸的是firebase-server-sdk artefact解決方案似乎有問題,我不能切換回firebase-server-sdk,嘗試3.0.1,3.0.2,它不能再解析(在三臺具有不同設置的不同機器上,確定它不是本地問題)。你確定一個乾淨的建築適合你嗎? – MrBigglesworth

1

剛剛得到它自己的工作與POM文件中的此添加(您仍然可以使用t他最新的firebase實現):

<dependency> 
    <groupId>com.google.firebase</groupId> 
    <artifactId>firebase-server-sdk</artifactId> 
    <version>4.0.0</version> 
</dependency> 
<dependency> 
    <groupId>com.google.firebase</groupId> 
    <artifactId>firebase-server-sdk</artifactId> 
    <version>3.0.1</version> 
</dependency> 
+0

謝謝,但是這正在回到Google之前的Firebase依賴關係,並且缺少像DatabaseReference這樣的關鍵類,所以不能解決我的問題。 – MrBigglesworth

+0

更改了答案,請注意,您不會錯過任何課程。 – sim

+0

這對我有用。謝謝。 –

0

我解決了這個問題,有必要將版本更新到4.0.1!

相關問題