【发布时间】:2017-11-20 04:47:06
【问题描述】:
我有一个非常简单的 Spring Boot 应用程序,它具有以下依赖项。
compile(
"org.springframework.boot:spring-boot-starter-actuator",
"org.springframework.boot:spring-boot-starter-data-rest",
"org.springframework.boot:spring-boot-configuration-processor",
"org.jetbrains.kotlin:kotlin-stdlib-jre8:2.1.3",
"org.jetbrains.kotlin:kotlin-reflect:2.1.3",
"io.reactivex.rxjava2:rxjava:2.1.3",
"com.google.firebase:firebase-admin:5.5.0"
)
我只是想将 POJO 放到我的实时 firebase 数据库中。
val db = FirebaseDatabase.getInstance()
db.reference.setValue(
SomePojo().apply {
name = ""
someOtherProp = "Some other value"
},
{ err, _ ->
println("error=$err")
})
但是在日志中我可以看到库内部出了点问题。
2017-11-17 15:18:08.376 INFO 1377 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-11-17 15:18:08.385 INFO 1377 --- [ main] be.topradio.metadata.AppKt : Started AppKt in 19.051 seconds (JVM running for 19.615)
2017-11-17 15:18:08.908 ERROR 1377 --- [eDatabaseWorker] c.google.firebase.database.core.RunLoop : Uncaught exception in Firebase Database runloop (5.5.0). Please report to firebase-database-client@google.com
java.lang.NoSuchMethodError: org.json.JSONStringer.object()Lorg/json/JSONWriter;
at com.google.firebase.database.util.JsonMapper.serializeJsonValue(JsonMapper.java:72) ~[firebase-admin-5.5.0.jar:na]
at com.google.firebase.database.util.JsonMapper.serializeJsonValue(JsonMapper.java:61) ~[firebase-admin-5.5.0.jar:na]
at com.google.firebase.database.util.JsonMapper.serializeJson(JsonMapper.java:41) ~[firebase-admin-5.5.0.jar:na]
at com.google.firebase.database.util.GAuthToken.serializeToString(GAuthToken.java:67) ~[firebase-admin-5.5.0.jar:na]
at com.google.firebase.database.core.JvmAuthTokenProvider.wrapOAuthToken(JvmAuthTokenProvider.java:86) ~[firebase-admin-5.5.0.jar:na]
at com.google.firebase.database.core.JvmAuthTokenProvider.getToken(JvmAuthTokenProvider.java:66) ~[firebase-admin-5.5.0.jar:na]
at com.google.firebase.database.core.Context$1.getToken(Context.java:63) ~[firebase-admin-5.5.0.jar:na]
at com.google.firebase.database.connection.PersistentConnectionImpl$1.run(PersistentConnectionImpl.java:481) ~[firebase-admin-5.5.0.jar:na]
at com.google.firebase.database.connection.util.RetryHelper$1.run(RetryHelper.java:93) ~[firebase-admin-5.5.0.jar:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_60]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_60]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_60]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_60]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_60]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_60]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
有什么想法吗?
【问题讨论】:
标签: firebase spring-boot firebase-realtime-database