Firebase Admin SDK 在执行 .jar 文件时抛出 NoSuchMethodError

Firebase Admin SDK throws NoSuchMethodError while executing .jar file

当我使用基本的 Firebase 设置执行我的应用程序时,如下所示

FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");

FirebaseOptions options = new FirebaseOptions.Builder()
  .setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
  .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
  .build();

FirebaseApp.initializeApp(options);
FirebaseDatabase db = FirebaseDatabase.getInstance() // error

我收到以下错误

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;)V
    at com.google.firebase.FirebaseApp.checkNotDeleted(FirebaseApp.java:314)

我看到这可能是因为番石榴版本低,但事实是,我没有将它用作直接依赖项(仅通过 Firebase)。

问题出在我的代码中,而不是 Firebase SDK。我试图从我的资源文件夹加载配置 json 文件,当我将它移动到项目根目录时,如 demo 所示,它开始工作。