Découvrez les étapes de dépannage qui pourraient vous être utiles si vous rencontrez des problèmes lors de la gestion des paquets Java dans Artifact Registry.
Impossible de résoudre une dépendance stockée dans Artifact Registry
Maven résout certaines dépendances avant d'appliquer un wagon défini dans
pom.xml
, par exemple:
- Les références d'un projet Maven enfant à un projet parent à l'aide de la méthode
Élément
<parent>
. - Dépendances de plug-in stockées dans Artifact Registry
Si votre projet doit résoudre ces dépendances, vous devez utiliser la principales extensions qui permet à Maven de localiser les fichiers POM parents et les plug-ins.
Dans votre projet, créez le fichier ${maven.projectBasedir}/.mvn/extensions.xml
avec le contenu suivant. L'élément <extension>
définit le 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>
Impossible d'importer des instantanés qui ne sont pas uniques dans un dépôt d'instantanés
Vous pouvez importer des versions d'instantanés qui n'existent pas dans un dépôt d'instantanés Artifact Registry, mais vous ne pouvez pas écraser une version qui existe déjà dans le dépôt.
Les instantanés non uniques sont une fonctionnalité de Maven 2. Maven 3 ajoute toujours un code temporel aux numéros de version des instantanés, afin que chaque version d'instantané soit unique.
Artifact Registry n'accepte que les versions d'instantanés non uniques dans avec une règle de version d'instantané. Par défaut, les dépôts d'instantanés n'acceptent que des versions d'instantanés uniques. Vous ne pouvez définir une stratégie de version que lorsque vous créez le dépôt.
Pour connaître les paramètres de stratégie de version d'un dépôt, exécutez la commande suivante : commande:
gcloud artifacts repositories describe REPOSITORY \
[--project=PROJECT] \
[--location=LOCATION]
Où
- REPOSITORY est l'ID du dépôt. Si vous avez configuré un dépôt Artifact Registry par défaut, il est utilisé lorsque cette option est omise dans la commande.
- PROJECT est l'ID de projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
- LOCATION est l'emplacement régional ou multirégional du dépôt.
Le résultat de la commande inclut des informations sur la stratégie de version sous mavenConfig
. Dans l'exemple suivant, le dépôt contient un instantané
la règle de version et les instantanés ne peuvent pas écraser des versions identiques dans le
un dépôt de clés.
Encryption: Google-managed key
createTime: '2021-09-23T19:39:10.897404Z'
format: MAVEN
mavenConfig:
allowSnapshotOverwrites: false
versionPolicy: SNAPSHOT