3

Ich verwende derzeit Cloud Endpoints v1 in einer vorhandenen Anwendung, möchte sie jedoch für App Engine in Java auf V2 aktualisieren. Ich habe die migration guide überprüft, aber dies bietet nur Schritte für die Migration eines Maven-Projekts. Ich verwende Maven nicht, aber ich verwende das Java App Engine SDK und das Google Eclipse-Plugin, um meine Endpunkte zu entwickeln, zu testen und zu implementieren. Ich habe Probleme mit der Ausführung von v2 des Cloud Endpoints Framework aufgrund von Konflikten mit den vorhandenen Abhängigkeiten in App Engine SDK. Wie kann ich die v1-Abhängigkeiten im App Engine-SDK überschreiben, sodass ich zu v2 migrieren kann? Ist das möglich, oder soll ich mein Projekt in ein Maven-Projekt umwandeln?Migration zu Google Cloud Endpoints v2

Antwort

1

Ich glaube, GPE ist veraltet. Sie sollten jedoch in der Lage sein, mit der rechten Maustaste auf Ihr App Engine-Projekt zu klicken, Build Path > Configure Build Path auszuwählen und das JAR endpoints-framework unter der Registerkarte Bibliotheken hinzuzufügen. Stellen Sie sicher, dass Sie auf "Bestellen und exportieren" klicken und das Endpunkte-Framework über das App Engine-SDK verschieben, da sonst Probleme auftreten können.

+0

Ich folgte Ihrer Anweisung, aber ich erhalte eine Fehlermeldung beim Starten des lokalen Dev-Servers zum Testen der Endpunkte. Ich verwende auch Guice-Injektion mit dem Endpunkte-Framework. 'java.lang.NoSuchMethodError: com.google.api.server.spi.ServletInitializationParameters.getServiceClasses() Lcom/google/common/collect/ImmutableSet;' – Ken

+0

Ich verwende die gleiche Konfiguration des Endpoints-Frameworks in einem bestehenden Maven-Projekt und arbeitet ohne Probleme. Ich glaube immer noch, dass es zwischen dem Java App Engine SDK und dem alten appengine-endpoints jar einen Konflikt gibt. – Ken

+0

Ich habe das Projekt in Eclipse gereinigt und auch die Reihenfolge der Bibliotheken und Jars so eingestellt, dass die neue Endpoints-framework.jar zuerst aufgeführt wird. Beim Erstellen des Projekts gibt es immer noch ein Problem, das auf das Vorhandensein der alten appengine-endpoints.jar zurückzuführen zu sein scheint. Die alte Konfiguration wird in der web.xml während des Builds erstellt. @saiyr Ist es möglich, die appengine-endpoints.jar von der App Engine SDK Library auszuschließen? – Ken

0

Um die include appengine-endpoints.jar aus dem App Engine SDK für Java zu überschreiben, habe ich der appengine-web.xml eine class-loader-config hinzugefügt.

<classloader-config> <priority-specifier filename="endpoints-framework-2.0.3.jar/> </class-loader-config>

habe ich auch die Google Cloud Endpoint Builder in Eclipse deaktiviert. Eigenschaften> Builder und deaktivierte Google App Engine-Cloud-Endpunkte erstellen.

Verwandte Themen