<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>${appengine.maven.plugin.version}</version>
</plugin>
Die erste basiert auf der früheren (aber nicht veraltet) appcfg
(oder Java SDK
).
Es bietet ein lot of Goals spezifisch für App Engine, die grundlegend, die mit dem dev-Server und dem deploy, sondern auch für die Update-Warteschlangen, zu aktualisieren cron, aktualisiert Indizes, Vakuum-Indizes, ...
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.1.0-beta</version>
</plugin>
Es ist das neueste, noch in der Betaversion. Es basiert auf GCloud SDK
und hat eine begrenzte Anzahl von Zielen.
Here können Sie die neueste Version von Maven Zentrale sehen, die jüngste ist 1.0.0
, ich sehe das nicht 1.1.0-beta
Version
Wie Sie das richtige Plugin wählen: Wenn Sie nur dev-server
verwenden müssen und deploy
können Sie das neueste Plugin basierend auf GCloud SDK
verwenden.
Diese 2 Ziele sind auch in dem appcfg
basierten Plugin verfügbar, aber wenn Sie spezifischere Ziele benötigen (wie die Handhabung von Warteschlangen, Cron, Indizes, ...) sind nur mit diesem letzten Ziel verfügbar.
Auch die Google Cloud Endpoints goals, sind die einzigen verfügbaren appcfg
ein
Am Ende können jene 2-Plug-in demselben Projekt koexistiert. Der Trick, beide zu verwenden, besteht darin, den vollständigen Zielpfad anstelle des kurzen zu verwenden (source).
Zum Beispiel:
com.google.cloud.tools:appengine-maven-plugin:run
com.google.appengine:appengine-maven-plugin:devserver
Und nicht
appengine:run
appengine:devserver
Wenn Sie die kürzere Version verwenden, ist Maven nicht in der Lage die richtige groupId zu lösen (weil die artifactId das gleiche auf beiden Plugins)
Im Moment beide Plugins wirksam sind, und es ist Spuren nicht eines deprecation über die appcfg
basierte One.
Nimm mich zum Beispiel, ich benutze immer die Bereitstellung innerhalb des GCloud-Plugins (ich halte es als Deploy-Verfahren im Vergleich zur appcfg ein wenig besser), aber wenn ich cron/queues aktualisieren muss, verwende ich das Ziel des vorherigen Plugin. Ich habe kein Problem, beide auf sie in meinem Projekt
Denken Sie daran, wenn Sie die GCloud basierend verwenden möchten, müssen Sie GCloud installed (und konfiguriert) auf Ihrem lokalen Rechner haben.
Hier ist ein anderer Thread, die das gleiche Thema diskutiert: `gcloud app deploy` vs. `appcfg.py`
Beide Plugins werden fortlaufend aktualisiert. alter: 1.9.60 2017 Dez, neuer; 1.3.2 2017 Nov (es gibt eine Version 99.99.99, die sehr seltsam ist). In der Zwischenzeit gibt es zwei Seiten von Google Doc, die über sie getrennt berichten, die alte: https://cloud.google.com/appengine/docs/standard/java/tools/maven, die neue: https: // cloud. google.com/appengine/docs/standard/java/tools/using-maven –
nach dieser Seite https://cloud.google.com/appengine/docs/standard/java/tools/migrate-maven können wir Google sehen Stellen Sie eine migrate-Methode zur Verfügung, um com.google.appengine.appengine-maven zu com.google.cloud.tools.appengine-maven zu migrieren. Vielleicht ist die neue Methode also eine gute Wahl, wenn Sie ein neues Maven-Projekt starten. –
Sie authentifizieren sich unterschiedlich. Aus diesem Grund musste ich die com.google.cloud.tools beim Einrichten der Bereitstellung von Jenkins verwenden. –