Résoudre les problèmes liés aux packages Java

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]

  • 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