Ich habe einen Google App Engine-Server, auf dem Google Cloud Endpoints v1 und das Firebase Admin SDK ausgeführt wird."Platform-Methode fehlend" und "NoSuchMethod" -Fehler in Google App Engine
Ich habe die folgenden Fehler auf dem Server erhalten, wenn meine mobile App auf einen der Cloud-Endpunkte zugreift, insbesondere auf einen, der eine HTTP-Anfrage generiert (unsicher, ob dies damit zusammenhängt). Alle anderen Cloud-Endpunkte, auf die über die App zugegriffen wird, funktionieren jedoch ordnungsgemäß.
com.google.appengine.repackaged.com.google.protobuf.UnsafeUtil supportsUnsafeByteBufferOperations
WARNING: platform method missing - proto runtime falling back to safer methods: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.sun.misc")
com.google.appengine.repackaged.com.google.protobuf.UnsafeUtil supportsUnsafeArrayOperations
WARNING: platform method missing - proto runtime falling back to safer methods: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.sun.misc")
com.google.appengine.repackaged.com.google.protobuf.UnsafeUtil supportsUnsafeCopyMemory
WARNING: copyMemory is missing from platform - proto runtime falling back to safer methods.
com.google.api.server.spi.SystemServiceServlet init
INFO: SPI restricted: true
com.google.api.server.spi.SystemService invokeServiceMethod
SEVERE: exception occurred while calling backend method
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)
at com.google.firebase.FirebaseApp.getOptions(FirebaseApp.java:260)
at com.google.firebase.auth.FirebaseAuth.<init>(FirebaseAuth.java:74)
at com.google.firebase.auth.FirebaseAuth.<init>(FirebaseAuth.java:61)
at com.google.firebase.auth.FirebaseAuth.<init>(FirebaseAuth.java:52)
at com.google.firebase.auth.FirebaseAuth$FirebaseAuthService.<init>(FirebaseAuth.java:316)
at com.google.firebase.auth.FirebaseAuth.getInstance(FirebaseAuth.java:98)
at com.google.firebase.auth.FirebaseAuth.getInstance(FirebaseAuth.java:85)
Kann jemand beraten?
Ich habe ähnliche Berichte untersucht, die darauf hindeuten, dass es widersprüchliche Versionen der Guava-Abhängigkeit gibt. Wenn mvn dependency:tree
ausgeführt wird, zeigt es, dass es nur eine Guava-Abhängigkeit (v20.0) gibt, die von dem Firebase Admin SDK enthalten wird.
Wahrscheinlichkeiten sind Ihr Projekt wurde mit Guava 19.0 gebaut. Das Ausführen von 'mvn clean' löschte die alten Artefakte aus Ihrem' target/'Verzeichnis und baute das Projekt mit guava 20.0 neu auf –