java.lang.NoSuchMethodError:org.json.JSONObject.putOnce(Ljava / lang / String; Ljava / lang / Object;)Lorg / json / JSONObject;

时间:2018-02-21 06:47:45

标签: java json firebase

我遇到了错误

java.lang.NoSuchMethodError

  

org.json.JSONObject.putOnce(Ljava /郎/字符串; Ljava /郎/对象;)Lorg / JSON /的JSONObject;       在org.json.JSONWriter.key(JSONWriter.java:208)       在com.google.firebase.database.util.JsonMapper.serializeJsonValue(JsonMapper.java:76)       在com.google.firebase.database.util.JsonMapper.serializeJsonValue(JsonMapper.java:61)       在com.google.firebase.database.util.JsonMapper.serializeJson(JsonMapper.java:41)       在com.google.firebase.database.util.GAuthToken.serializeToString(GAuthToken.java:67)       在com.google.firebase.database.core.JvmAuthTokenProvider.wrapOAuthToken(JvmAuthTokenProvider.java:86)       在com.google.firebase.database.core.JvmAuthTokenProvider.getToken(JvmAuthTokenProvider.java:66)       在com.google.firebase.database.core.Context $ 1.getToken(Context.java:62)       在com.google.firebase.database.connection.PersistentConnectionImpl $ 1.run(PersistentConnectionImpl.java:490)       在com.google.firebase.database.connection.util.RetryHelper $ 1.run(RetryHelper.java:93)       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)       在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)       在java.lang.Thread.run(Thread.java:745)

2 个答案:

答案 0 :(得分:0)

根据java documentation

  

“NoSuchMethodError”如果应用程序尝试调用指定的,则抛出该异常   类的方法(静态或实例),以及类的类   更长的时间有该方法的定义。

所以,看看堆栈跟踪:

  • 如果从库中调用方法时出现异常 - 您尚未在构建中包含其jar。
  • 如果在调用自己的方法时发生 - 请确保在编译时更新实际运行的类文件

但首先 - 尝试清理和构建(在mvn中清理安装)

答案 1 :(得分:0)

使用Firebase的Admin SDK和Spring时似乎存在常见的依赖冲突。讨论为here,可以找到可能的解决方案here

我已经测试了解决方案并且它有效,但我正在检查可能的副作用。