👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Learn more on the GitHub blog.


Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Configurar Apache Maven para usar con paquetes de GitHub

Puedes configurar Apache Maven para publicar paquetes para GitHub Packages y utilizar paquetes almacenados en GitHub Packages como dependencias en un proyecto Java.

GitHub Packages se encuentra disponible con GitHub Free, GitHub Pro, GitHub Free para organizaciones, GitHub Team, GitHub Enterprise Cloud, y GitHub One. GitHub Packages no está disponible para repositorios privados que pertenezcan a cuentas que utilicen planes tradicionales por repositorio. Para obtener más información, consulta la sección "Productos de GitHub".

En este artículo

¿Pudiste encontrar lo que estabas buscando?

Autenticar a GitHub Packages

Necesitas de un token de acceso para publicar, instalar, y borrar paquetes en GitHub Packages. Puedes utilizar un token de acceso personal para autenticarte con tu nombre de usuario directamente en GitHub Packages o en la API de GitHub. Puedes utilizar un GITHUB_TOKEN para autenticarte utilizando un flujo de trabajo de GitHub Actions.

Autenticando con un token de acceso personal

Debes utilizar un token de acceso personal con los alcances adecuados para publicar e instalar paquetes en GitHub Packages. Para obtener más información, consulta "Acerca de GitHub Packages."

Puedes autenticar en GitHub Packages con Apache Maven editando tu archivo ~/.m2/settings.xml para incluir tu token de acceso personal. Crear un nuevo archivo ~/.m2/settings.xml si no existe uno.

En la etiqueta servidores, agrega una etiqueta servidor hijo con una Id, reemplazando USERNAME con tu nombre de usuario GitHub y Token con tu token de acceso personal.

En la etiqueta repositorios, configura un repositorio al mapear el Id del repositorio a la Id que agregaste en la etiqueta servidor que contiene tus credenciales. Reemplaza REPOSITORY con el nombre del repositorio en el que quieres publicar un paquete o desde el cual quieres instalar un paquete, y OWNER con el nombre de la cuenta de usuario o de organización a la que pertenece el repositorio. Dado que las letras mayúsculas no son compatibles, debes usar minúscula para el propietario del repositorio si el nombre de usuario o el nombre de la organización de GitHub contiene letras mayúsculas.

Si deseas interactuar con múltiples repositorios, puedes agregar cada repositorio para separar hijos del repositorio en la etiqueta repositorios, asignando la Id de cada una a las credenciales en la etiqueta servidores.

GitHub Packages es compatible con versiones SNAPSHOT de Apache Maven. Para utilizar un repositorio para descargar este tipo de artefacto, debes habilitar las CAPTURAS (SNAPSHOTS) en tu archivo~/.m2/settings.xml file.

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <activeProfiles>
    <activeProfile>github</activeProfile>
  </activeProfiles>

  <profiles>
    <profile>
      <id>github</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>github</id>
          <name>GitHub OWNER Apache Maven Packages</name>
          <url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <servers>
    <server>
      <id>github</id>
      <username>USERNAME</username>
      <password>TOKEN</password>
    </server>
  </servers>
</settings>

Autenticando con el GITHUB_TOKEN

Si estás utilizando un flujo de trabajo de GitHub Actions, puedes utilizar un GITHUB_TOKEN para publicar y consumir paquetes en GitHub Packages sin que necesites almacenar y administrar un token de acceso personal. Para obtener más información, consulta la sección "Autenticarse con el GITHUB_TOKEN".

Publicar un paquete

Predeterminadamente, GitHub publica el paquete en un repositorio existente con el mismo nombre que éste. Por ejemplo, GitHub publicará un paquete denominado com.example:test en un repositorio llamado OWNER/test.

Si quisieras publicar paquetes múltiples en el mismo repositorio, puedes incluir la URL del mismo en el <distributionManagement>elemento del archivo pom.xml. GitHub coincidirá con el repositorio basado en ese campo. Dado que el nombre del repositorio también es parte del elemento distributionManagement, no hay pasos adicionales para publicar múltiples paquetes en el mismo repositorio.

Para obtener más información acerca de cómo crear un paquete, consulta la documentación maven.apache.org.

  1. Edita el elemento distributionManagement del archivo POM. XML ubicado en el directorio de tu paquete, reemplazando OWNER con el nombre de la cuenta de usuario o de organización a la que pertenece el repositorio y REPOSITORY con el nombre del repositorio que contiene tu proyecto.

    <distributionManagement>
       <repository>
         <id>github</id>
         <name>GitHub OWNER Apache Maven Packages</name>
         <url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
       </repository>
    </distributionManagement>
    
  2. Publicar el paquete.

    $ mvn deploy

Después de que publiques un paquete, puedes verlo en GitHub. Para obtener más información, consulta "Visualizar paquetes".

Instalar un paquete

Para instalar un paquete de Apache Maven desde GitHub Packages, edita el POM. XML archivo para incluir el paquete como una dependencia. Si deseas instalar paquetes desde más de un repositorio, agrega una etiqueta repositorio para cada uno. Para obtener más información acerca del uso de un archivo pom.xml en tu proyecto, consulta "Introducción al POM"en la documentación de Apache Maven.

  1. Autentícate en GitHub Packages. Para obtener más información, consulta "Autenticar a GitHub Packages."

  2. Agrega las dependencias del paquete al elemento dependencias del archivo pom.xml de tu proyecto, reemplazando com.example:test con tu paquete.

    <dependencies>
      <dependency>
        <groupId>com.example</groupId>
        <artifactId>test</artifactId>
        <version>1.0.0-SNAPSHOT</version>
      </dependency>
    </dependencies>
    
  3. Instala el paquete.

    $ mvn install

Leer más

¿Pudiste encontrar lo que estabas buscando?

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos