java - 在 App Engine 标准 Java 中初始化 Firebase Admin

标签 java google-app-engine firebase-admin

我正在尝试在 App Engine 标准 Java 中使用 Firebase Auth 来验证来自 Android 的 token 。

但是,当我尝试初始化 Firebase 管理时,出现异常。

这里是异常(exception):

java.lang.NoSuchMethodError: 
com.google.common.base.Preconditions.checkState
(ZLjava/lang/String;Ljava/lang/Object;)V
at com.google.firebase.FirebaseApp.checkNotDeleted (FirebaseApp.java:352)
at com.google.firebase.FirebaseApp.getOptions (FirebaseApp.java:267)
at com.google.firebase.FirebaseApp$TokenRefresher.<init> (FirebaseApp.java:434)
at com.google.firebase.FirebaseApp$TokenRefresher$Factory.create (FirebaseApp.java:535)
at com.google.firebase.FirebaseApp.<init> (FirebaseApp.java:113)
at com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:201)
at com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:188)
at com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:175)

很可能是因为 Guava 版本之间存在冲突

这是我的gradle:

dependencies {
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.60'
    compile 'com.google.appengine.tools:appengine-gcs-client:0.7'
    compile ('com.google.firebase:firebase-admin:5.7.0') {
        exclude group: 'com.google.guava'
    }
    compile 'com.google.guava:guava:23.0'
    compile 'javax.servlet:servlet-api:2.5'
}

代码如下:

InputStream in = filterConfig.getServletContext()
            .getResourceAsStream("/WEB-INF/PRIVATE_KEY_JSON.json");

FirebaseOptions options = null;
try {
     options = new FirebaseOptions.Builder()
            .setCredentials(GoogleCredentials.fromStream(in))
            .build();
} catch (IOException e) {
    e.printStackTrace();
}
FirebaseApp.initializeApp(options);

最佳答案

解决方法是在链接中添加jar文件

https://github.com/firebase/firebase-admin-java/pull/125

关于java - 在 App Engine 标准 Java 中初始化 Firebase Admin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48045808/

相关文章:

java - ^ 正则表达式分割什么样的字符串

java - 读取对象文件而不出现 EOFException

android - 如何从Firebase-admin向Android应用程序发送角标(Badge)?

reactjs - 如何将 create-react-app 部署到 Google Cloud

google-app-engine - 本地数据库的 Appengine jdoconfig.xml

java - 如何使用 Java 中的 Firebase Admin 将文件上传到 Firebase 存储?

node.js - 如何让 Firebase Functions 充当用户而不是管理员?

java - 制作包含所有内容和属性的段落的精确副本?

java - 一旦达到限制就展开数组

java - 找不到辅助技术 : org. GNOME.Accessibility.AtkWrapper