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-Package-Repository für Ihre Pakete.
- Weitere Informationen zum Erstellen von Remote- und virtuellen Repositories
- 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 Repositories im selben Projekt.
- Konfigurieren Sie Ihre Tools:
- Konfigurieren Sie die Authentifizierung für Maven oder Gradle.
- Wenn Sie sbt als Build-Tool für Scala und Java anstelle von Maven oder Gradle verwenden möchten, steht ein von der Community erstelltes sbt-Plug-in zur Verfügung. In dieser Dokumentation werden die Konfiguration oder Verwendung von Scala-Clients nicht beschrieben.
- Cloud Build zum Hoch- und Herunterladen von Paketen konfigurieren
- Weitere Informationen zum Bereitstellen in Laufzeitumgebungen Google Cloud
- 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.