Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firebase基于Spring启动默认应用程序_Java_Firebase_Spring Boot_Jhipster - Fatal编程技术网

Java Firebase基于Spring启动默认应用程序

Java Firebase基于Spring启动默认应用程序,java,firebase,spring-boot,jhipster,Java,Firebase,Spring Boot,Jhipster,我正在创建一个JHipster应用程序Springboot+Angular,我需要集成Firebase 我已经按照firebase文档中的说明进行了操作,当我离线启动服务器时,它可以完美地工作 但当我在控制台中使用jhipster AWS将服务器部署到AWS时,当我尝试调用使用firebase SDK的函数时,它表示尝试登录firebase失败。原因:FirebaseApp名称[默认值]已存在 这种行为只有在我部署应用程序时才会发生,因为如果我从本地主机调用它,它就可以正常工作 我的pom.xm

我正在创建一个JHipster应用程序Springboot+Angular,我需要集成Firebase

我已经按照firebase文档中的说明进行了操作,当我离线启动服务器时,它可以完美地工作

但当我在控制台中使用jhipster AWS将服务器部署到AWS时,当我尝试调用使用firebase SDK的函数时,它表示尝试登录firebase失败。原因:FirebaseApp名称[默认值]已存在

这种行为只有在我部署应用程序时才会发生,因为如果我从本地主机调用它,它就可以正常工作

我的pom.xml上有这个

<dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>6.3.0</version>
    </dependency>

    <dependency>
        <groupId>com.google.gms</groupId>
        <artifactId>google-services</artifactId>
        <version>3.1.1</version>
    </dependency>
我修好了

结果表明FirebaseApp.InitializeAppions;当环境部署到AWS Elastic Beanstalk时,函数在api上执行一次

我所做的是创建一个名为FirebaseUtils的类,它有一个InitiateFileBase过程,用于设置FirebaseApp


在每次调用需要访问firebase的API时调用InitiateFileBase后,FirebaseApp将使用另一个作用域中的新选项配置创建,我可以访问firebase。

您是否也设法从前端执行了身份验证,例如在React JS中?使用谷歌或Facebook登录怎么样?能有一些样品就好了
try{
        InputStream serviceAccount = new ByteArrayInputStream(getFirebaseJson().getBytes(StandardCharsets.UTF_8));
        //FileInputStream serviceAccount = new FileInputStream("firebaseAuth.json");

        FirebaseOptions options = new FirebaseOptions.Builder()
            .setCredentials(GoogleCredentials.fromStream(serviceAccount))
            .setDatabaseUrl("https://seeu-soon.firebaseio.com/")
            .build();



        FirebaseApp.initializeApp(options);
        FirebaseDatabase.getInstance(FirebaseApp.getInstance()).setPersistenceEnabled(true);

    }catch(Exception e){
        log.debug("Trying to login to firebase failed. Reason: " + e.getMessage());
    }