Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Uso CodeArtifact con mvn

Modo de enfoque
Uso CodeArtifact con mvn - CodeArtifact

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.

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.

El comando mvn se usa para ejecutar compilaciones de Maven. En esta sección se muestra cómo mvn configurar el uso de un CodeArtifact repositorio.

Extraer dependencias

mvnPara configurar la búsqueda de dependencias de un CodeArtifact repositorio, debe editar el archivo de configuración de Maven y, si lo deseasettings.xml, el POM de su proyecto.

  1. Si no lo has hecho, crea y almacena un token de CodeArtifact autenticación en una variable de entorno como se describe en Pasar un token de autenticación mediante una variable de entorno para configurar la autenticación en tu repositorio. CodeArtifact

  2. En settings.xml (normalmente se encuentra en ~/.m2/settings.xml), añada una sección <servers> con una referencia a la variable de entorno CODEARTIFACT_AUTH_TOKEN para que Maven pase el token en las solicitudes HTTP.

    <settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
  3. Añade el punto final de la URL de tu CodeArtifact repositorio en un <repository> elemento. Puede hacerlo en settings.xml o en el archivo POM de su proyecto.

    Puedes recuperar el punto final de tu repositorio mediante el get-repository-endpoint AWS CLI comando.

    Por ejemplo, si el nombre de un repositorio está my_repo dentro de un nombre de dominiomy_domain, el comando es el siguiente:

    aws codeartifact get-repository-endpoint --domain my_domain --repository my_repo --format maven

    El comando get-repository-endpoint devolverá el punto de conexión del repositorio:

    url 'https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/'
    nota

    Para usar un punto final de doble pila, use el codeartifact.region.on.aws punto final.

    Añada el punto de conexión del repositorio a settings.xml de la siguiente manera.

    <settings> ... <profiles> <profile> <id>default</id> <repositories> <repository> <id>codeartifact</id> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> </repository> </repositories> </profile> </profiles> <activeProfiles> <activeProfile>default</activeProfile> </activeProfiles> ... </settings>

    O bien, puede añadir la <repositories> sección a un archivo POM del proyecto CodeArtifact para utilizarla únicamente en ese proyecto.

    <project> ... <repositories> <repository> <id>codeartifact</id> <name>codeartifact</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> </repository> </repositories> ... </project>
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 CodeArtifact.

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

mvn compile

Maven registra la URL completa de todas las dependencias que descarga en la consola.

[INFO] ------------------< com.example.example:myapp >------------------- [INFO] Building myapp 1.0 [INFO] --------------------------------[ jar ]--------------------------------- Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.pom Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.pom (11 kB at 3.9 kB/s) Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom (68 kB at 123 kB/s) Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.jar Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.jar (54 kB at 134 kB/s)

Publicar artefactos

Para publicar un artefacto de Maven en un CodeArtifact repositorio, también debes editar ~/.m2/settings.xml y proyectar el POM. mvn

  1. Si no lo has hecho, crea y almacena un token de CodeArtifact autenticación en una variable de entorno como se describe en Pasar un token de autenticación mediante una variable de entorno para configurar la autenticación en tu repositorio. CodeArtifact

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

    <settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
  3. Agregue una sección <distributionManagement> al pom.xml de su proyecto.

    <project> ... <distributionManagement> <repository> <id>codeartifact</id> <name>codeartifact</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> </repository> </distributionManagement> ... </project>

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

mvn deploy

Utilice list-package-versions para comprobar que el paquete se ha publicado correctamente.

aws codeartifact list-package-versions --domain my_domain --domain-owner 111122223333 --repository my_repo --format maven \ --namespace com.company.framework --package my-package-name

Resultado de ejemplo:

{ "defaultDisplayVersion": null, "format": "maven", "namespace": "com.company.framework", "package": "my-package-name", "versions": [ { "version": "1.0", "revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC", "status": "Published" } ] }

Publicación de artefactos de terceros

Puedes publicar artefactos de Maven de terceros en un CodeArtifact repositorio con. mvn deploy:deploy-file Esto puede resultar útil para los usuarios que desean publicar artefactos y 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.

Publicación de artefactos Maven de terceros
  1. Si no lo has hecho, crea y almacena un token de CodeArtifact autenticación en una variable de entorno como se describe en Pasar un token de autenticación mediante una variable de entorno para configurar la autenticación en tu CodeArtifact repositorio.

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

    <settings> <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> </settings>
  3. 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=codeartifact \ -Durl=https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/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 externo JARs en un repositorio remoto de la documentación de Apache Maven.

Restrinja las descargas de dependencias de Maven a un repositorio CodeArtifact

Si un paquete no se puede recuperar de un repositorio configurado, de forma predeterminada, el comando mvn lo obtiene del central de Maven. Añade el mirrors elemento a settings.xml para que mvn siempre utilices tu CodeArtifact repositorio.

<settings> ... <mirrors> <mirror> <id>central-mirror</id> <name>CodeArtifact Maven Central mirror</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ... </settings>

Si agrega un elemento mirrors, también debe tener un elemento pluginRepository en su settings.xml o pom.xml. El siguiente ejemplo busca las dependencias de la aplicación y los complementos de Maven de un repositorio. CodeArtifact

<settings> ... <profiles> <profile> <pluginRepositories> <pluginRepository> <id>codeartifact</id> <name>CodeArtifact Plugins</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> ... </settings>

En el siguiente ejemplo, se obtienen las dependencias de las aplicaciones de un CodeArtifact repositorio y se obtienen los complementos de Maven de Maven Central.

<profiles> <profile> <id>default</id> ... <pluginRepositories> <pluginRepository> <id>central-plugins</id> <name>Central Plugins</name> <url>https://repo.maven.apache.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> .... </profile> </profiles>

Información del proyecto Apache Maven

Para obtener más información sobre Maven, consulte estos temas en el sitio web del Proyecto Apache Maven:

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.