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:
- Erstellen Sie ein Java-Paket-Repository für Ihre Pakete.
- Remote-Repositorys und virtuelle Repositories erstellen
- In diesem Beispiel für die Repository-Nutzung erfahren Sie, wie Sie Remote- und virtuelle Repositories verwenden können.
- 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.
- Konfigurieren Sie Ihre Tools:
- Konfigurieren Sie die Authentifizierung für Maven oder Gradle.
- Wenn Sie sbt verwenden möchten als Build-Tool für Scala und Java verwenden, anstatt Maven oder Gradle zu verwenden. Von der Community erstelltes SMB-Plug-in verfügbar. In dieser Dokumentation wird nicht die Konfiguration oder Verwendung von Scala-Clients...
- Cloud Build zum Hoch- und Herunterladen von Paketen konfigurieren
- Bereitstellung in Google Cloud-Laufzeitumgebungen
- 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.