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-Package-Repository für Ihre Pakete.
  2. Weitere Informationen zum Erstellen von Remote- und virtuellen Repositories
  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 Repositories im selben Projekt.
  5. Konfigurieren Sie Ihre 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 eines Snapshots enthält das Suffix -SNAPSHOT im 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 iterativ aktualisierte Versionen eines Pre-Release-Pakets veröffentlichen, ohne jedes Mal, wenn Sie im Repository veröffentlichen, die Versionsnummer in Ihrem Maven-Projekt zu erhöhen. 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 Sie ein Paket veröffentlichen möchten, entfernen Sie das Suffix -SNAPSHOT aus der Versionsnummer in der POM-Datei und aktualisieren Sie alle Projekte, die vom Paket abhängen, sodass sie die Release-Version anstelle der Snapshot-Version verwenden.

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

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: Hier werden nur Snapshot-Pakete gespeichert.
  • Release: Nur Geschäfte veröffentlichen 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.