0

My application uses the Firebase Admin SDK for Java (recently upgraded from the Firebase Server SDK). It has worked correctly while testing on the local environment, however after deploying it to Google App Engine from Eclipse, the logs are showing this error:

com.google.api.server.spi.SystemService invokeServiceMethod: exception occurred while calling backend method
java.lang.NoSuchMethodError: com.google.firebase.FirebaseOptions$Builder.setCredential(Lcom/google/firebase/auth/FirebaseCredential;)Lcom/google/firebase/FirebaseOptions$Builder;

Can anyone advise? I have checked pom.xml on the server and I can see that the firebase-admin SDK dependency was uploaded successfully:

<dependency>
    <groupId>com.google.firebase</groupId>
    <artifactId>firebase-admin</artifactId>
    <version>5.2.0</version>
</dependency>
user2181948
  • 1,646
  • 3
  • 33
  • 60

2 Answers2

1

You may have to upgrade Firebase version to 4.1.0 or later. com.google.firebase.FirebaseOptions$Builder.setCredential() has been introduced since version 4.1.0.

<dependency>
    <groupId>com.google.firebase</groupId>
    <artifactId>firebase-admin</artifactId>
    <version>4.1.0</version>
</dependency>
Kohei TAMURA
  • 4,970
  • 7
  • 25
  • 49
0

I had the same issue on Tomcat 8.0 on a dev machine (Windows 10). I had just migrated firebase-admin from 4.1.7 version to the latest one (6.11.0), so there was somewhere an old firebase-admin-4.1.7.jar.

Hence that's what I did to fix:

  • find and delete any copy of firebase-admin-4.1.7.jar from my dev machine (check lib/ folders)
  • remove webapp from Tomcat Server
  • Maven Update
  • Project Clean
dar0x
  • 361
  • 2
  • 6
  • 10