

Amazon n' CodeCatalyst est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. Pour de plus amples informations, veuillez consulter [Comment effectuer une migration depuis CodeCatalyst](migration.md).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration et utilisation de mvn
<a name="packages-maven-mvn"></a>

Vous utilisez la `mvn` commande pour exécuter les versions de Maven. Vous devez configurer `mvn` pour utiliser votre référentiel de packages et fournir un jeton d'accès personnel (PAT) pour l'authentification.

**Contents**
+ [Récupération des dépendances depuis CodeCatalyst](#mvn-fetch-dependencies)
+ [Récupération de packages depuis des référentiels de packages externes via CodeCatalyst](#mvn-install-public)
+ [Publier des packages vers CodeCatalyst](#mvn-publish-packages)
+ [Publication de packages tiers](#publishing-third-party-packages)

## Récupération des dépendances depuis CodeCatalyst
<a name="mvn-fetch-dependencies"></a>

Pour configurer `mvn` afin d'extraire les dépendances d'un CodeCatalyst référentiel, vous devez modifier le fichier de configuration Maven `settings.xml` et, éventuellement, le fichier POM (Project Model Object) de votre projet. Le fichier POM contient des informations sur le projet et des informations de configuration permettant à Maven de créer le projet, telles que les dépendances, le répertoire de construction, le répertoire des sources, le répertoire des sources de test, le plugin et les objectifs.

**À utiliser `mvn` pour récupérer les dépendances depuis votre dépôt de CodeCatalyst packages**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Sur la page d'aperçu de votre projet, sélectionnez **Packages**.

1. Choisissez votre référentiel de packages dans la liste des référentiels de packages.

1. Choisissez **Connect to repository**.

1. Dans la boîte de dialogue **Connect to repository**, choisissez **mvn dans** la liste des clients du gestionnaire de packages.

1. Vous aurez besoin d'un jeton d'accès personnel (PAT) pour vous authentifier. `mvn` CodeCatalyst Si vous en avez déjà un, vous pouvez l'utiliser. Sinon, vous pouvez en créer un ici.

   1. Choisissez **Créer un jeton**.

   1. Choisissez **Copier** pour copier votre PAT.
**Avertissement**  
Vous ne pourrez plus voir ou copier votre PAT après avoir fermé la boîte de dialogue.

1. Ajoutez à votre fichier un profil contenant votre `settings.xml` dépôt. Remplacez les valeurs suivantes.
**Note**  
Si vous copiez les instructions depuis la console, les valeurs suivantes doivent être mises à jour pour vous et ne doivent pas être modifiées.
   + Remplacez {{space\_name}} par le nom de votre CodeCatalyst espace.
   + Remplacez {{proj\_name}} par le nom CodeCatalyst de votre projet.
   + {{repo\_name}}Remplacez-le par le nom CodeCatalyst du dépôt de votre package.

   ```
   <profiles>
     <profile>
       <id>{{repo_name}}</id>
       <activation>
           <activeByDefault>true</activeByDefault>
       </activation>
       <repositories>
           <repository>
             <id>{{repo_name}}</id>
             <url>https://packages.{{region}}.codecatalyst.aws/maven/{{space_name}}/{{proj_name}}/{{repo_name}}/</url>
           </repository>
       </repositories>
     </profile>
   </profiles>
   ```

1. Ajoutez votre serveur à la liste des serveurs de votre `settings.xml` fichier. Remplacez les valeurs suivantes.
**Note**  
Si vous copiez les instructions depuis la console, les valeurs suivantes doivent être mises à jour pour vous et ne doivent pas être modifiées.
   + {{repo\_name}}Remplacez-le par le nom CodeCatalyst du dépôt de votre package.
   + Remplacez {{username}} par votre nom CodeCatalyst d'utilisateur.
   + {{PAT}}Remplacez-le par votre CodeCatalyst PAT.

   ```
   <servers>
     <server>
       <id>{{repo_name}}</id>
       <username>{{username}}</username>
       <password>{{PAT}}</password>
     </server>
   </servers>
   ```

1. (Facultatif) Définissez un miroir dans votre `settings.xml` fichier qui capture toutes les connexions et les achemine vers votre référentiel au lieu d'un référentiel de passerelle.
**Note**  
Si vous copiez les instructions depuis la console, les valeurs suivantes doivent être mises à jour pour vous et ne doivent pas être modifiées.
   + Remplacez {{space\_name}} par le nom de votre CodeCatalyst espace.
   + Remplacez {{proj\_name}} par le nom CodeCatalyst de votre projet.
   + {{repo\_name}}Remplacez-le par le nom CodeCatalyst du dépôt de votre package.

   ```
   <mirrors>
     <mirror>
       <id>{{repo_name}}</id>
       <name>{{repo_name}}</name>
       <url>https://packages.{{region}}.codecatalyst.aws/maven/{{space_name}}/{{proj_name}}/{{repo_name}}/</url>
       <mirrorOf>*</mirrorOf>
     </mirror>
   </mirrors>
   ```

**Important**  
Vous pouvez utiliser n'importe quelle valeur dans l'`<id>`élément, mais elle doit être identique dans les `<repository>` éléments `<server>` et. Cela permet d'inclure les informations d'identification spécifiées dans les demandes adressées à CodeCatalyst.

Après avoir apporté ces modifications de configuration, vous pouvez créer le projet.

```
mvn compile
```

## Récupération de packages depuis des référentiels de packages externes via CodeCatalyst
<a name="mvn-install-public"></a>

Vous pouvez installer des packages Maven à partir de référentiels publics via un CodeCatalyst référentiel en le configurant avec une connexion en amont à la passerelle qui représente le référentiel de passerelle. Les packages installés depuis le référentiel de passerelle sont ingérés et stockés dans votre CodeCatalyst référentiel.

Actuellement, CodeCatalyst prend en charge les référentiels de packages Maven publics suivants.
+ maven-central-gateway
+ google-android-gateway
+ gradle-plugins-gateway
+ passerelle commonware

**Pour installer des packages à partir de référentiels de packages Maven publics**

1. Si ce n'est pas déjà fait, configurez `mvn` avec votre référentiel de CodeCatalyst packages en suivant les étapes décrites dans[Récupération des dépendances depuis CodeCatalyst](#mvn-fetch-dependencies).

1. Assurez-vous que votre référentiel a ajouté le référentiel de passerelle à partir duquel vous souhaitez effectuer l'installation en tant que connexion en amont. Pour vérifier quelles sources en amont sont ajoutées ou pour ajouter un référentiel de passerelle en tant que source en amont, suivez les instructions figurant dans[Ajout d’un référentiel en amont](packages-upstream-repositories-add.md).

Pour plus d'informations sur la demande de packages à partir de référentiels en amont, consultez[Demande d'une version de package avec des référentiels en amont](packages-upstream-repositories-request.md).

## Publier des packages vers CodeCatalyst
<a name="mvn-publish-packages"></a>

Pour publier un package Maven dans un CodeCatalyst dépôt, vous devez également modifier `~/.m2/settings.xml` le POM du projet. `mvn`

**À utiliser `mvn` pour publier des packages dans votre référentiel de CodeCatalyst packages**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Sur la page d'aperçu de votre projet, sélectionnez **Packages**.

1. Choisissez votre référentiel de packages dans la liste des référentiels de packages.

1. Choisissez **Connect to repository**.

1. Dans la boîte de dialogue **Connect to repository**, choisissez **mvn dans** la liste des clients du gestionnaire de packages.

1. Vous aurez besoin d'un jeton d'accès personnel (PAT) pour vous authentifier. `mvn` CodeCatalyst Si vous en avez déjà un, vous pouvez l'utiliser. Sinon, vous pouvez en créer un ici.

   1. Choisissez **Créer un jeton**.

   1. Choisissez **Copier** pour copier votre PAT.
**Avertissement**  
Vous ne pourrez plus voir ou copier votre PAT après avoir fermé la boîte de dialogue.

1. Configurez une variable d'environnement sur votre machine locale avec votre PAT. Vous allez utiliser cette variable d'environnement dans votre `setting.xml` fichier.

   ```
   export CODECATALYST_ARTIFACTS_TOKEN={{your_PAT}}
   ```

1. Ajoutez une `<servers>` section à `settings.xml` avec une référence à la variable d'`CodeCatalyst_ARTIFACTS_TOKEN`environnement afin que Maven transmette le jeton dans les requêtes HTTP.

   ```
   <settings>
   ...
       <servers>
           <server>
               <id>{{repo-name}}</id>
               <username>{{username}}</username>
               <password>${env.CodeCatalyst_ARTIFACTS_TOKEN}</password>
           </server>
       </servers>
   ...
   </settings>
   ```

1. Ajoutez une `<distributionManagement>` section à celle de votre projet`pom.xml`.

   ```
   <project>
   ...
        <distributionManagement>
            <repository>
                <id>{{repo_name}}</id>
                <name>{{repo_name}}</name>
                <url>https://packages.{{region}}.codecatalyst.aws/maven/{{space_name}}/{{proj_name}}/{{repo_name}}/</url>
            </repository>
        </distributionManagement>
   ...
   </project>
   ```

Après avoir apporté ces modifications de configuration, vous pouvez créer le projet et le publier dans le référentiel spécifié.

```
mvn deploy
```

Vous pouvez accéder à votre référentiel de packages dans la CodeCatalyst console pour vérifier que le package a bien été publié.

## Publication de packages tiers
<a name="publishing-third-party-packages"></a>

Vous pouvez publier des packages Maven tiers dans un CodeCatalyst référentiel avec`mvn deploy:deploy-file`. Cela peut être utile aux utilisateurs qui souhaitent publier des packages qui ne disposent que de fichiers JAR et qui n'ont pas accès au code source du package ou aux fichiers POM.

La `mvn deploy:deploy-file` commande générera un fichier POM basé sur les informations transmises dans la ligne de commande.

Créez d'abord un PAT si vous n'en avez pas.

**Pour créer un jeton d'accès personnel (PAT)**

1. Dans la barre de menu supérieure, choisissez votre badge de profil, puis sélectionnez **Mes paramètres**. 
**Astuce**  
Vous pouvez également accéder à votre profil utilisateur en vous rendant sur la page des membres d'un projet ou d'un espace et en choisissant votre nom dans la liste des membres.

1. Dans **Nom du PAT**, entrez un nom descriptif pour votre PAT.

1. Dans **Date d'expiration**, laissez la date par défaut ou cliquez sur l'icône du calendrier pour sélectionner une date personnalisée. La date d'expiration par défaut est d'un an à compter de la date actuelle.

1. Choisissez **Créer**.

   Vous pouvez également créer ce jeton lorsque vous choisissez **Clone un référentiel** pour un référentiel source.

1. Enregistrez le secret PAT dans un emplacement sécurisé. 
**Important**  
Le secret PAT ne s'affiche qu'une seule fois. Vous ne pouvez pas le récupérer après avoir fermé la fenêtre. 

**Pour publier des packages Maven tiers**

1. Créez un `~/.m2/settings.xml` fichier avec le contenu suivant :

   ```
   <settings>
       <servers>
           <server>
               <id>{{repo_name}}</id>
               <username>{{username}}</username>
               <password>{{PAT}}}</password>
           </server>
       </servers>
   </settings>
   ```

1. Exécutez la commande `mvn deploy:deploy-file` :

   ```
   mvn deploy:deploy-file -DgroupId=commons-cli          \
   -DartifactId=commons-cli       \
   -Dversion=1.4                  \
   -Dfile=./commons-cli-1.4.jar   \
   -Dpackaging=jar                \
   -DrepositoryId={{repo-name }}     \
   -Durl=https://packages.{{region}}.codecatalyst.aws/maven/{{space-name}}/{{proj-name}}/{{repo-name}}/
   ```
**Note**  
L'exemple précédent publie`commons-cli 1.4`. Modifiez les arguments groupId, artifactID, version et fichier pour publier un JAR différent.

Ces instructions sont basées sur des exemples du [Guide de déploiement d'un tiers JARs sur un dépôt distant](https://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html), extrait de la *documentation d'Apache Maven*. 

 Pour plus d'informations, consultez les rubriques suivantes sur le site Web du projet Apache Maven :
+  [Configuration de plusieurs référentiels](https://maven.apache.org/guides/mini/guide-multiple-repositories.html) 
+  [Référence des paramètres](https://maven.apache.org/settings.html) 
+  [Gestion de la distribution](https://maven.apache.org/pom.html#Distribution_Management) 
+  [Profilés](https://maven.apache.org/pom.html#Profiles) 