【发布时间】:2018-01-20 22:47:05
【问题描述】:
我正在尝试在 Spring Boot 应用程序中设置 Firebase。我正在遵循文档here 中给出的代码 sn-ps。这就是我的 pom 的样子:
<dependency>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-admin</artifactId>
<version>5.2.0</version>
</dependency>
我运行来初始化 firebase 的代码:
@PostConstruct
public void init() {
InputStream serviceAccount = FirebaseConfig.class.getClassLoader().getResourceAsStream(configPath);
FirebaseOptions options = null;
try {
options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl(databaseUrl)
.build();
} catch (IOException e) {
e.printStackTrace();
}
FirebaseApp.initializeApp(options);
}
在启动时FirebaseApp.initializeApp 抛出以下错误:
[错误] RunLoop:Firebase 数据库运行循环中未捕获的异常 (5.2.0)。请向 firebase-database-client@google.com 报告 java.lang.NoSuchMethodError: org.json.JSONStringer.object()Lorg/json/JSONWriter;在 com.google.firebase.database.util.JsonMapper.serializeJsonValue(JsonMapper.java:72) 在 com.google.firebase.database.util.JsonMapper.serializeJsonValue(JsonMapper.java:61) 在 com.google.firebase.database.util.JsonMapper.serializeJson(JsonMapper.java:41)
我尝试包含org.json,但没有成功。
【问题讨论】:
-
检查项目的依赖树 (
mvn dependency:tree) 并查看类路径中可用的 JSON 库。项目中可能有一个 open-json 库,它与 Firebase 所需的旧 org.json 库冲突。 -
你解决了吗?
标签: java firebase spring-boot firebase-realtime-database firebase-admin