Gérer les packages Java

Artifact Registry est compatible avec les packages Java que vous compilez avec Maven et Gradle.

Présentation

Pour vous familiariser avec les packages Java dans Artifact Registry, vous pouvez consulter le guide de démarrage rapide.

Pour en savoir plus, consultez les informations suivantes :

  1. Créez un dépôt de packages Java pour vos packages.
  2. Découvrez comment créer des dépôts distants et virtuels.
  3. Découvrez comment utiliser les dépôts distants et virtuels dans ce exemple d'utilisation du dépôt.
  4. Accordez des autorisations au compte auquel se connectera au dépôt. Les comptes de service pour les intégrations courantes avec Artifact Registry disposent d'autorisations par défaut pour les dépôts du même projet.
  5. Configurez vos outils:
  6. Découvrir comment gérer les packages.

Instantanés et versions Maven

Maven fait la distinction entre les versions snapshot et release de votre Projets Maven.

Instantanés

Un instantané est une version préliminaire d'un projet Java. Le numéro de version d'un instantané inclut le suffixe -SNAPSHOT dans votre modèle d'objet de projet (POM). Par exemple, ce paramètre du fichier pom.xml est destiné à une version 1.0 d'un projet en cours de développement :

<version>1.0-SNAPSHOT</version>

Lorsque vous publiez un package à partir de ce projet, Maven 3 ajoute automatiquement un code temporel au numéro de version de l'instantané afin que chaque version d'instantané soit unique. Maven 2 prend en charge les versions d'instantanés non uniques pour écraser les instantanés existants dans un dépôt. Cette approche pose problème pour la reproductibilité des builds. C'est pourquoi Maven 3 n'est plus compatible avec les instantanés non uniques.

Les instantanés vous permettent de publier de manière itérée des versions mises à jour d'un package en version préliminaire sans incrémenter le numéro de version dans votre projet Maven chaque fois que vous publiez dans le dépôt. Pendant le développement, d'autres projets avec des dépendances sur le package peuvent alors obtenir le dernier instantané de la version 1.0 du dépôt.

Pour en savoir plus sur la syntaxe et l'ordre de tri des numéros de version Maven, consultez la spécification de l'ordre des versions.

Versions

Lorsque vous êtes prêt à publier un package, vous devez supprimer le suffixe -SNAPSHOT à partir du numéro de version indiqué dans le fichier POM et mettez à jour tous les projets qui dépendent le package afin qu'ils utilisent la version de publication au lieu de l'instantané version.

Pour répertorier toutes les dépendances d'instantané, vous pouvez Filtrer l'arborescence des dépendances en exécutant la commande suivante:

mvn dependency:tree -Dincludes=:::*-SNAPSHOT

Stratégie de version d'Artifact Registry

Lorsque vous créez un dépôt Maven dans Artifact Registry, vous pouvez spécifier une stratégie de version Maven :

  • Aucun : stocke les packages d'instantané et de version. Il s'agit du paramètre par défaut.
  • Instantané - Stocke uniquement les packages d'instantané.
  • Release : les magasins ne publient que des packages.

Si vous choisissez la règle de version d'instantané, vous pouvez également spécifier si le dépôt autorise les versions d'instantanés non uniques qui écrasent les versions correspondantes dans le dépôt. Nous vous recommandons d'utiliser des versions uniques, car Maven 3 n'est pas compatible avec le modèle de version non unique.