Java-Pakete verwalten

Artifact Registry unterstützt Java-Pakete, die Sie mit Maven und Gradle erstellen.

Überblick

Mit der quickstart können Sie sich mit Java-Paketen in Artifact Registry vertraut machen. Sie können sich auch ein Übersichtsvideo ansehen.

Wenn Sie mehr erfahren möchten, lesen Sie die folgenden Informationen:

  1. Erstellen Sie ein Java-Paket-Repository für Ihre Pakete.
  2. Remote-Repositories und virtuelle Repositories erstellen
  3. In diesem Beispiel für die Verwendung von Repositories erfahren Sie, wie Remote- und virtuelle Repositories verwendet werden können.
  4. Gewähren Sie Berechtigungen für das Konto, das mit dem Repository verbunden wird. Dienstkonten für gängige Integrationen mit Artifact Registry haben Standardberechtigungen für Repositories im selben Projekt.
  5. Konfigurieren Sie die Tools:
  6. Informationen zum Verwalten von Paketen.

Maven-Snapshot und Releaseversionen

Maven unterscheidet zwischen Snapshot- und Release-Versionen Ihrer Maven-Projekte.

Snapshots

Ein Snapshot ist eine Vorabversion eines Java-Projekts. Die Versionsnummer für einen Snapshot enthält das Suffix -SNAPSHOT im Projektobjektmodell (POM). Diese Einstellung in der Datei pom.xml gilt beispielsweise für eine 1.0-Version des Projekts, das sich in der Entwicklung befindet:

<version>1.0-SNAPSHOT</version>

Wenn Sie ein Paket aus diesem Projekt veröffentlichen, hängt Maven 3 automatisch einen Zeitstempel an die Snapshot-Versionsnummer an, sodass jede Snapshot-Version eindeutig ist. Maven 2 unterstützt nicht eindeutige Snapshot-Versionen, um vorhandene Snapshots in einem Repository zu überschreiben. Dieser Ansatz ist für die Reproduzierbarkeit von Builds problematisch. Daher unterstützt Maven 3 keine nicht eindeutigen Snapshots mehr.

Snapshots bieten Ihnen die Möglichkeit, aktualisierte Versionen eines Vorabveröffentlichungspakets iterativ zu veröffentlichen, ohne die Versionsnummer im Maven-Projekt bei jeder Veröffentlichung im Repository zu erhöhen. Während der Entwicklung können andere Projekte mit Abhängigkeiten vom Paket den neuesten Snapshot der Version 1.0 aus dem Repository abrufen.

Weitere Informationen zur Syntax und Sortierreihenfolge der Maven-Versionsnummer finden Sie in der Spezifikation für die Versionsreihenfolge.

Releases

Wenn Sie bereit sind, ein Paket freizugeben, entfernen Sie das Suffix -SNAPSHOT aus der Versionsnummer in der POM-Datei und aktualisieren Sie alle Projekte, die vom Paket abhängig sind, sodass sie die Release-Version anstelle der Snapshot-Version verwenden.

Sie können mit dem folgenden Befehl die Abhängigkeitsstruktur filtern, um alle Snapshot-Abhängigkeiten aufzulisten:

mvn dependency:tree -Dincludes=:::*-SNAPSHOT

Artifact Registry-Versionsrichtlinie

Wenn Sie ein Maven-Repository in Artifact Registry erstellen, können Sie eine Maven-Versionsrichtlinie angeben:

  • Keine: Speichert sowohl Snapshot- als auch Release-Pakete. Dies ist die Standardeinstellung.
  • Snapshot: speichert nur Snapshot-Pakete.
  • Release: Speichert nur Release-Pakete.

Wenn Sie die Richtlinie für Snapshot-Versionen auswählen, können Sie auch angeben, ob das Repository nicht eindeutige Snapshot-Versionen zulässt, die übereinstimmende Versionen im Repository überschreiben. Wir empfehlen, eindeutige Versionen zu verwenden, da Maven 3 das Modell für nicht eindeutige Versionen nicht unterstützt.

Video zur Verwendung von Hangouts Meet (in englischer Sprache)

In diesem Video erhalten Sie einen Überblick über Artifact Registry und erfahren, wie Sie Artifact Registry mit Cloud Build verwenden können, um mit Java-Paketen zu arbeiten. Weitere Informationen zur Verwendung von Cloud Build mit Artifact Registry finden Sie unter In Cloud Build einbinden.