【问题标题】:Firebase app not initialized on Google CloudFirebase 应用未在 Google Cloud 上初始化
【发布时间】:2020-08-26 22:32:51
【问题描述】:

我正在通过我的spring boot app 连接到firestore。该应用程序已初始化并在本地完全正常工作。但是,一旦我将它部署到 Google Cloud,我就会收到以下错误消息:

java.lang.IllegalStateException:

名称为 [DEFAULT] 的 FirebaseApp 不存在。在 com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:164) ~[firebase-admin-6.8.1.jar!/:na] 在 com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:135) ~[firebase-admin-6.8.1.jar!/:na] 在 com.google.firebase.cloud.FirestoreClient.getFirestore(FirestoreClient.java:64) ~[firebase-admin-6.8.1.jar!/:na] 在 com.augiemarketplace.augiemarketplaceapi.service.AugieMarketService.getListOfAllItems(AugieMarketService.java:112) ~[classes!/:0.0.1-SNAPSHOT]

我用来初始化spring app的代码:

try {
 if (!FirebaseApp.getApps().isEmpty()) {
  FirebaseDatabase.getInstance().setPersistenceEnabled(true);
 }
 FileInputStream serviceAccount =
  new FileInputStream("src/main/resources/firebase.json");
 FirebaseOptions options = new FirebaseOptions.Builder()
  .setCredentials(GoogleCredentials.fromStream(serviceAccount))
  .setDatabaseUrl("https://augiemarketplace.firebaseio.com")
  .build();
 if (FirebaseApp.getApps().isEmpty()) {
  FirebaseApp.initializeApp(options);
 }
} catch (Exception e) {
 e.printStackTrace();
}

我用来调用Firestore的代码行:

Firestore dbFireStore = FirestoreClient.getFirestore();

【问题讨论】:

  • 从错误信息看来,第一块代码没有被调用,或者在第二块代码运行之前没有正确初始化FirebaseApp实例。
  • @FrankvanPuffelen 是的,很难调试它,因为该代码块在我的配置文件中,而且它在我的本地运行良好......有什么建议吗?

标签: java firebase spring-boot google-cloud-platform google-cloud-firestore


【解决方案1】:

我已经调试了我的应用程序并得出结论,当我将我的应用程序部署到 Google Cloud Platform 时,未检测到相关文件路径。我不确定如何在 App Engine 上指定路径。我用来访问我的文件的代码:

FileInputStream serviceAccount = new FileInputStream("src/main/resources/firebase.json");

回答:采用不同的方法,只需使用此调用来提供静态文件:InputStream serviceAccount = new ClassPathResource("firebase.json").getInputStream();

【讨论】:

  • 您能否与我们分享您使用这些路径的目的以及如何访问它们? (可能带有代码 sn-p)
  • @LuisManuel 与我发布的代码相同 FileInputStream serviceAccount = new FileInputStream("src/main/resources/firebase.json");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-23
  • 1970-01-01
  • 2021-09-05
  • 1970-01-01
  • 2018-09-16
  • 2022-10-16
相关资源
最近更新 更多