Java-Pakete verwalten

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.

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

  1. Erstellen Sie ein Java-Paket-Repository für Ihre Pakete.
  2. Remote-Repositorys und virtuelle Repositories erstellen
  3. In diesem Beispiel für die Repository-Nutzung erfahren Sie, wie Sie Remote- und virtuelle Repositories verwenden 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 die sich im selben Projekt befinden.
  5. Konfigurieren Sie Ihre Tools:
  6. Informationen zum Verwalten von Paketen.

Maven-Snapshot und -Releaseversionen

Maven unterscheidet zwischen Snapshot- und Release-Versionen Ihres Maven-Projekte

Snapshots

Ein Snapshot ist eine Vorabversion eines Java-Projekts. 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 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 der Snapshot-Versionsnummer automatisch einen Zeitstempel 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. Daher werden in Maven 3 keine nicht eindeutigen Snapshots mehr unterstützt.

Mit Snapshots können Sie aktualisierte Versionen eines Pre-Release-Paket, ohne die Versionsnummer im Maven zu erhöhen Projekt erstellen, wenn Sie etwas im Repository veröffentlichen. Während der Entwicklung können andere Projekte mit Abhängigkeiten vom Paket dann den aktuellen Snapshot von Version 1.0 aus dem Repository abrufen.

Weitere Informationen zur Syntax und Sortierreihenfolge von Maven-Versionsnummern finden Sie in der Versionsreihenfolgespezifikation.

Releases

Wenn ein Paket freigegeben werden soll, entferne das Suffix -SNAPSHOT anhand der Versionsnummer in der POM-Datei und aktualisieren alle Projekte, des Pakets, sodass sie die Release-Version anstelle des Snapshots verwenden Version.

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

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

Artifact Registry-Versionsrichtlinie

Beim Erstellen eines Maven-Repositorys in Artifact Registry können Sie Folgendes angeben: Maven-Versionsrichtlinie:

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

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