Mit Java-Paketen arbeiten

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

Übersicht

Mit der Kurzanleitung 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. Gewähren Sie dem Konto, das mit dem Repository verbunden wird, Berechtigungen. Dienstkonten für allgemeine Integrationen in Artifact Registry haben Standard-Berechtigungen für Repositories im selben Projekt.
  3. Konfigurieren Sie Ihre Tools:
  4. 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 Project Object Model (POM). Diese Einstellung in der Datei pom.xml gilt beispielsweise für eine 1.0-Version eines 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. Aus diesem Grund unterstützt Maven 3 keine nicht eindeutigen Snapshots mehr.

Mit Snapshots können Sie aktualisierte Versionen eines Pre-Release-Pakets iterativ veröffentlichen, ohne bei jeder Veröffentlichung im Repository die Versionsnummer in Ihrem Maven-Projekt zu erhöhen. Während der Entwicklung können andere Projekte mit Abhängigkeiten für das Paket dann den neuesten Snapshot der Version 1.0 aus dem Repository abrufen.

Weitere Informationen zur Syntax von Maven-Versionsnummern und zur Sortierreihenfolge 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 alle vom Paket abhängigen Projekte so, dass sie die Release-Version anstelle der Snapshot-Version.

Wenn Sie alle Snapshot-Abhängigkeiten auflisten möchten, können Sie den Abhängigkeitsbaum filtern mit dem folgenden Befehl:

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 – Nur Versionspakete speichern

Wenn Sie die Snapshot-Versionsrichtlinie auswählen, können Sie auch angeben, ob das Repository nicht eindeutige Snapshot-Versionen zulässt, die übereinstimmende Versionen im Repository überschreiben. Wir empfehlen die Verwendung eindeutiger Versionen, da Maven 3 das nicht eindeutige Versionsmodell 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.