【问题标题】:java.lang.NoSuchMethodError: org.json.JSONObject.putOnce(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;java.lang.NoSuchMethodError: org.json.JSONObject.putOnce(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
【发布时间】:2018-06-13 03:00:30
【问题描述】:

我遇到了一个错误

java.lang.NoSuchMethodError

org.json.JSONObject.putOnce(Ljava/lang/String;Ljava/lang/Object;)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) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)

【问题讨论】:

  • 这是什么问题?有一些上下文会很好
  • 好像导入了项目,没有添加第三方库(jar)。

标签: java json firebase


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    java documentation

    "NoSuchMethodError" 如果应用程序尝试调用指定的 类的方法(静态或实例),并且该类没有 不再有该方法的定义。

    所以,看看堆栈跟踪:

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

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

    【讨论】:

    • 其他可能性可能是使用特定版本的库编译代码并在运行时使用不同的库版本(更改使用的方法)。
    • @AlejandroGonzález 这基本上是第一个子弹
    猜你喜欢
    • 2014-12-26
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 2016-05-07
    相关资源
    最近更新 更多