

Amazon ya no CodeCatalyst está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cómo migrar desde CodeCatalyst](migration.md).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración y uso de mvn
<a name="packages-maven-mvn"></a>

Para ejecutar las compilaciones de Maven, se utiliza el comando `mvn`. Debe configurar `mvn` para usar el repositorio de paquetes y proporcionar un token de acceso personal (PAT) para la autenticación.

**Contents**
+ [Obteniendo dependencias de CodeCatalyst](#mvn-fetch-dependencies)
+ [Obtención de paquetes de repositorios de paquetes externos mediante CodeCatalyst](#mvn-install-public)
+ [Publicar paquetes en CodeCatalyst](#mvn-publish-packages)
+ [Publicación de paquetes externos](#publishing-third-party-packages)

## Obteniendo dependencias de CodeCatalyst
<a name="mvn-fetch-dependencies"></a>

`mvn`Para configurar la búsqueda de dependencias de un CodeCatalyst repositorio, debe editar el archivo de configuración de Maven `settings.xml` y, si lo desea, el archivo de objetos del modelo de proyecto (POM) del proyecto. El archivo POM contiene información sobre el proyecto, así como datos de configuración para que Maven compile el proyecto, como las dependencias, el directorio de compilación, el directorio del código fuente, el directorio del código fuente de pruebas, el complemento y los objetivos.

**Para usarlo para recuperar `mvn` las dependencias del repositorio de paquetes CodeCatalyst**

1. [Abre la CodeCatalyst consola en https://codecatalyst.aws/.](https://codecatalyst.aws/)

1. En la página de información general del proyecto, seleccione **Paquetes**.

1. Elija su repositorio de paquetes de la lista de repositorios de paquetes.

1. Seleccione **Establecer conexión con el repositorio**.

1. En el cuadro de diálogo **Establecer conexión con el repositorio**, elija **mvn** en la lista de clientes de administrador de paquetes.

1. Necesitará un token de acceso personal (PAT) para `mvn` autenticarse CodeCatalyst. Si ya tiene uno, puede utilizarlo. De lo contrario, puede crear uno aquí.

   1. Seleccione **Crear token**.

   1. Seleccione **Copiar** para copiar el PAT.
**aviso**  
Después de cerrar el cuadro de diálogo, no podrá volver a ver ni copiar el PAT.

1. Añada al archivo `settings.xml` un perfil que contenga su repositorio. Reemplace los siguientes valores.
**nota**  
Si va a copiar las instrucciones de la consola, los siguientes valores deben actualizarse automáticamente y no deben cambiarse.
   + {{space\_name}}Sustitúyalo por CodeCatalyst el nombre de tu espacio.
   + {{proj\_name}}Sustitúyalo por CodeCatalyst el nombre de tu proyecto.
   + {{repo\_name}}Sustitúyalo por el nombre CodeCatalyst del repositorio de paquetes.

   ```
   <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. Añada su servidor a la lista de servidores en el archivo `settings.xml`. Reemplace los siguientes valores.
**nota**  
Si va a copiar las instrucciones de la consola, los siguientes valores deben actualizarse automáticamente y no deben cambiarse.
   + {{repo\_name}}Sustitúyalo por el nombre CodeCatalyst del repositorio de paquetes.
   + {{username}}Sustitúyalo por tu nombre CodeCatalyst de usuario.
   + {{PAT}}Sustitúyalo por tu CodeCatalyst PAT.

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

1. (Opcional) Configure un espejo en el archivo `settings.xml` que capture todas las conexiones y las dirija a su repositorio, en lugar de dirigirlas a un repositorio de puerta de enlace.
**nota**  
Si va a copiar las instrucciones de la consola, los siguientes valores deben actualizarse automáticamente y no deben cambiarse.
   + {{space\_name}}Sustitúyalo por CodeCatalyst el nombre de tu espacio.
   + {{proj\_name}}Sustitúyalo por CodeCatalyst el nombre de tu proyecto.
   + {{repo\_name}}Sustitúyalo por el nombre CodeCatalyst del repositorio de paquetes.

   ```
   <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>
   ```

**importante**  
Puede usar cualquier valor en el elemento `<id>`, pero debe ser el mismo en los elementos `<server>` y `<repository>`. Esto permite incluir las credenciales especificadas en las solicitudes para CodeCatalyst.

Después de realizar estos cambios de configuración, puede crear el proyecto.

```
mvn compile
```

## Obtención de paquetes de repositorios de paquetes externos mediante CodeCatalyst
<a name="mvn-install-public"></a>

Puede instalar paquetes Maven desde repositorios públicos a través de un CodeCatalyst repositorio configurándolo con una conexión ascendente a la puerta de enlace que representa el repositorio de la puerta de enlace. Los paquetes instalados desde el repositorio de la puerta de enlace se ingieren y almacenan en su repositorio. CodeCatalyst

Actualmente, CodeCatalyst es compatible con los siguientes repositorios públicos de paquetes de Maven.
+ maven-central-gateway
+ google-android-gateway
+ gradle-plugins-gateway
+ commonsware-gateway

**Instalación de paquetes desde repositorios públicos de paquetes de Maven**

1. Si aún no lo ha hecho, configúrelo `mvn` con su repositorio de CodeCatalyst paquetes siguiendo los pasos que se indican en. [Obteniendo dependencias de CodeCatalyst](#mvn-fetch-dependencies)

1. Compruebe que el repositorio haya añadido el repositorio de puerta de enlace desde el que desea hacer la instalación como conexión ascendente. Para comprobar qué orígenes ascendentes se han añadido, o para añadir un repositorio de puerta de enlace como origen ascendente, siga las instrucciones indicadas en [Adición de un repositorio ascendente](packages-upstream-repositories-add.md).

Para obtener más información sobre cómo solicitar paquetes desde repositorios ascendentes, consulte [Solicitar una versión de paquete con repositorios ascendentes](packages-upstream-repositories-request.md).

## Publicar paquetes en CodeCatalyst
<a name="mvn-publish-packages"></a>

Para publicar un paquete de Maven en un CodeCatalyst repositorio, también debes editar `~/.m2/settings.xml` el POM del proyecto. `mvn`

**Para usar `mvn` para publicar paquetes en tu repositorio de CodeCatalyst paquetes**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. En la página de información general del proyecto, seleccione **Paquetes**.

1. Elija su repositorio de paquetes de la lista de repositorios de paquetes.

1. Seleccione **Establecer conexión con el repositorio**.

1. En el cuadro de diálogo **Establecer conexión con el repositorio**, elija **mvn** en la lista de clientes de administrador de paquetes.

1. Necesitará un token de acceso personal (PAT) para `mvn` autenticarse CodeCatalyst. Si ya tiene uno, puede utilizarlo. De lo contrario, puede crear uno aquí.

   1. Seleccione **Crear token**.

   1. Seleccione **Copiar** para copiar el PAT.
**aviso**  
Después de cerrar el cuadro de diálogo, no podrá volver a ver ni copiar el PAT.

1. Configure una variable de entorno en el equipo local con su PAT. Utilizará esta variable de entorno en el archivo `setting.xml`.

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

1. Agregue una sección `<servers>` a `settings.xml` con una referencia a la variable de entorno `CodeCatalyst_ARTIFACTS_TOKEN` para que Maven pase el token en las solicitudes HTTP.

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

1. Agregue una sección `<distributionManagement>` al `pom.xml` de su proyecto.

   ```
   <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>
   ```

Tras realizar estos cambios de configuración, puede crear el proyecto y publicarlo en el repositorio especificado.

```
mvn deploy
```

Puede navegar hasta el repositorio de paquetes en la CodeCatalyst consola para comprobar que el paquete se publicó correctamente.

## Publicación de paquetes externos
<a name="publishing-third-party-packages"></a>

Puede publicar paquetes Maven de terceros en un CodeCatalyst repositorio con`mvn deploy:deploy-file`. Esto puede resultar útil para los usuarios que desean publicar paquetes, solo tienen archivos JAR y no tienen acceso al código fuente del paquete o a los archivos POM.

El comando `mvn deploy:deploy-file` generará un archivo POM en función de la información pasada en la línea de comandos.

En primer lugar, cree un PAT si no tiene uno.

**Creación de un token de acceso personal (PAT)**

1. En la barra de menú superior, elija su insignia de perfil y, a continuación, elija **Mi configuración**. 
**sugerencia**  
También puede encontrar su perfil de usuario en la página de miembros de un proyecto o espacio, seleccionando el nombre en la lista de miembros.

1. En **Nombre de PAT**, introduzca un nombre descriptivo para el PAT.

1. En **Fecha de vencimiento**, mantenga la fecha predeterminada o elija el icono del calendario para seleccionar una fecha personalizada. La fecha de vencimiento predeterminada es de 1 año a partir de la fecha actual.

1. Seleccione **Crear**.

   También puede crear este token si elige **Clonar repositorio** para un repositorio de código fuente.

1. Guarde el secreto del PAT en un lugar seguro. 
**importante**  
El secreto del PAT solo se muestra una vez. No podrá recuperarlo después de cerrar la ventana. 

**Publicación de paquetes de Maven externos**

1. Cree un archivo `~/.m2/settings.xml` con los siguientes contenidos:

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

1. Ejecute el comando `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}}/
   ```
**nota**  
El ejemplo anterior publica `commons-cli 1.4`. Modifique los argumentos GroupID, ArtifactID, version y file para publicar un JAR diferente.

Estas instrucciones se basan en los ejemplos de la [guía para implementar un repositorio remoto de terceros, JARs que](https://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html) se encuentra en la documentación de *Apache Maven*. 

 Para obtener más información sobre estos temas, consulte el sitio web del Proyecto Apache Maven:
+  [Setting up Multiple Repositories](https://maven.apache.org/guides/mini/guide-multiple-repositories.html) 
+  [Settings Reference](https://maven.apache.org/settings.html) 
+  [Distribution Management](https://maven.apache.org/pom.html#Distribution_Management) 
+  [Profiles](https://maven.apache.org/pom.html#Profiles) 