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 zur Verwendung von Repositories erfahren Sie, wie Remote- und virtuelle Repositories verwendet werden können.
  4. Gewähren Sie Berechtigungen für das Konto, über das eine Verbindung mit dem Repository hergestellt wird. Dienstkonten für gängige Integrationen mit Artifact Registry haben Standardberechtigungen für Repositories im selben Projekt.
  5. Tools konfigurieren:
  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 in Ihrem 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, damit jede Snapshot-Version eindeutig ist. Maven 2 unterstützt nicht eindeutige Snapshot-Versionen, um vorhandene Snapshots in einem Repository zu überschreiben. Dieser Ansatz ist problematisch für die Reproduzierbarkeit von Builds. Aus diesem Grund 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 in Ihrem Maven-Projekt bei jeder Veröffentlichung im Repository zu erhöhen. Während der Entwicklung können andere Projekte mit Abhängigkeiten vom Paket dann 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 der Versionsreihenfolge.

Releases

Wenn Sie ein Paket freigeben möchten, entfernen Sie das Suffix -SNAPSHOT aus der Versionsnummer in der POM-Datei und aktualisieren Sie alle vom Paket abhängigen Projekte, sodass sie die Release-Version anstelle der Snapshot-Version verwenden.

Zum Auflisten aller Snapshot-Abhängigkeiten können Sie mit dem folgenden Befehl die Abhängigkeitsstruktur filtern:

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 Releasepakete.

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.