猿问

Firestore 凭据问题:Firebase 应用 [默认] 已存在

我正在用 JavaFX 构建一个简单的程序,用于将 .xls 文件上传到我的 firebase/firestore 项目。每次我尝试运行该程序并单击一个按钮来初始化我的上传器类时,它都会失败并显示一条错误消息:


FirebaseApp 名称 [DEFAULT] 已经存在!


找了半天,还是没找到有用的。我已经尝试过 OAuth2 令牌(在 Google Cloud 中创建了一个服务帐户,获得了 JSON 文件)、环境变量(不会检测到),以及文档中的几乎所有内容。


  FileInputStream serviceAccount = new FileInputStream("<path>.json");

FirebaseOptions options = new FirebaseOptions.Builder()

        .setCredentials(GoogleCredentials.fromStream(serviceAccount))

        .setDatabaseUrl("https://<project>.firebaseio.com/")

        .build();


    FirebaseApp.initializeApp(options); <----This line won't compile for some reason..

Firebase app =FirebaseApp.initializeApp(options); <--------- This will compile

我正在使用 Gradle 作为我的构建工具。这是我到目前为止所得到的,它似乎可以很好地构建而没有问题。我是否缺少任何依赖项?


 plugins {

    id 'java'

    id 'org.openjfx.javafxplugin' version '0.0.8'

    id 'application'

}


version '1.0-SNAPSHOT'


sourceCompatibility = 1.8


repositories {

    mavenCentral()

    jcenter()

    google()

}


dependencies {


    testCompile group: 'junit', name: 'junit', version: '4.12'

    compile "org.apache.poi:poi:3.17"

    compile "org.apache.poi:poi-ooxml:3.17"

    implementation 'com.google.firebase:firebase-auth:18.1.0'

    implementation 'com.google.firebase:firebase-admin:6.9.0'

    implementation 'com.google.firebase:firebase-firestore:20.2.0'


    compile 'com.google.firebase:firebase-admin:6.9.0'



}

javafx {

    version = '12'

    modules = ['javafx.controls', 'javafx.fxml']

}


mainClassName = 'app.Main'

apply plugin: 'org.openjfx.javafxplugin'


Cats萌萌
浏览 105回答 1
1回答

慕妹3242003

您不能firebase-admin与其他 Firebase Android 库一起使用,例如firebase-auth和firebase-firestore。您应该使用 Admin SDK 或 Android SDK,但绝不能同时使用两者。来到确切的错误消息,这表明initializeApp()在您的应用程序中被多次调用。它正在尝试初始化[DEFAULT], 当一个已经存在时。
随时随地看视频慕课网APP

相关分类

Java
我要回答