Hier finden Sie Informationen zur Fehlerbehebung, die hilfreich sein können, wenn Sie Probleme beim Verwalten von Java-Paketen in Artifact Registry.
Eine in Artifact Registry gespeicherte Abhängigkeit kann nicht aufgelöst werden
Maven löst einige Abhängigkeiten auf, bevor ein in
pom.xml
, einschließlich:
- Verweise in einem untergeordneten Maven-Projekt auf ein übergeordnetes Projekt mit dem Element
<parent>
. - In Artifact Registry gespeicherte Plug-in-Abhängigkeiten.
Wenn diese Abhängigkeiten in Ihrem Projekt aufgelöst werden müssen, müssen Sie den Mechanismus Core Extensions verwenden, damit Maven übergeordnete POM-Dateien und Plug-ins finden kann.
Erstellen Sie in Ihrem Projekt die Datei ${maven.projectBasedir}/.mvn/extensions.xml
mit folgendem Inhalt. Das <extension>
-Element definiert das Wagon.
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
<extension>
<groupId>com.google.cloud.artifactregistry</groupId>
<artifactId>artifactregistry-maven-wagon</artifactId>
<version>2.2.3</version>
</extension>
</extensions>
Nicht eindeutige Snapshots können nicht in ein Snapshot-Repository hochgeladen werden
Sie können Snapshot-Versionen hochladen, die in einem Artifact Registry-Snapshot-Repository nicht vorhanden sind. Sie können jedoch keine Version überschreiben, die bereits im Repository vorhanden ist.
Nicht eindeutige Snapshots sind ein Feature von Maven 2. Maven 3 fügt immer einen Zeitstempel hinzu in die Versionsnummern von Snapshots ein, damit jede Snapshot-Version eindeutig ist.
Artifact Registry unterstützt nicht eindeutige Snapshot-Versionen nur in Repositories mit einer Richtlinie für Snapshot-Versionen. Standardmäßig werden in Snapshot-Repositories nur eindeutige Snapshot-Versionen akzeptiert. Sie können nur dann eine Versionsrichtlinie festlegen, wenn erstellen Sie das Repository.
Führen Sie den folgenden Befehl aus, um die Einstellungen für die Versionsrichtlinie für ein Repository aufzurufen:
gcloud artifacts repositories describe REPOSITORY \
[--project=PROJECT] \
[--location=LOCATION]
Dabei gilt:
- REPOSITORY ist die ID des Repositorys. Wenn Sie ein Standard-Artifact Registry-Repository konfiguriert haben, wird es verwendet, wenn dieses Flag im Befehl ausgelassen wird.
- PROJECT ist die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.
- LOCATION ist der regionale oder multiregionale Standort für das Repository.
Die Ausgabe des Befehls enthält Informationen zur Versionsrichtlinie.
unter mavenConfig
. Im folgenden Beispiel hat das Repository einen Snapshot
Versionsrichtlinie und Snapshots können identische Versionen im
zu erstellen.
Encryption: Google-managed key
createTime: '2021-09-23T19:39:10.897404Z'
format: MAVEN
mavenConfig:
allowSnapshotOverwrites: false
versionPolicy: SNAPSHOT