Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Cómo desplegar librerías en Apache Maven con Artifactory

Carlos Yagüe
  • Escrito por Carlos Yagüe el 01 de Mayo de 2019
  • 3 min de lectura |
Cómo desplegar librerías en Apache Maven con Artifactory
El reproductor de video será cargado en breves instantes.

Te contamos cómo desplegar librerías con Apache Maven en un repositorio distribuido como Artifactory, que nos permite administrar cualquier pieza de software, binarios o dependencias, en cualquier lenguaje.

Desarrollo de librerías en la actualidad

En el mundo del desarrollo de software, cada vez se está potenciando más las comunidades de desarrollo de software libre.

Hay una comunidad de software libre potente que está empujando el desarrollo de librerías comunes, como puede ser la comunidad Apache Commons, que ofrece, bajo un repositorio distribuido publicado en internet, librerías que están disponible para que puedan ser utilizadas por los desarrolladores.

Esta situación se suele trasladar también al mundo de la empresa, de forma que cada corporación tenga su repositorio de librerías comunes, que se pueden ser librerías desarrolladas por un equipo de desarrollo horizontal, que se encargue de preparar esas librerías para el resto de proyectos de desarrollo, en modo de factoría de software.

Despliegue de librerías en Artifactory

Imagen 0 en ¿Cómo desplegar librerías en Apache Maven con Artifactory?

Para realizar esta operación se utiliza el comando mv deploy, y a partir de la librería que se instala en el repositorio local, se procede a hacer una subida al repositorio Artifactory.

En este caso se utilizará un repositorio de Artifactory a partir de un contenedor Docker, el existente en el repositorio del Docker Hub de Matt Grouter (https://hub.docker.com/r/mattgruter/artifactory).

Una vez dentro de la web seguimos las indicaciones para realizar el proceso:

  • Se descarga la imagen con el comando docker pull mattgruter/artifactory
  • Después se ejecuta el comando docker run -p 8080:8080 mattgruter/artifactory

Una vez se esté logado como administrador, pasaremos a realizar un despliegue utilizando Eclipse, para hacer una operación de deploy de una librería. También se podía hacer manualmente, pero para proyectos jerárquicos y multi-módulos muy complejos es mucho más tedioso hacerlo de esta forma que hacerlo directamente a través del entorno de desarrollo.

Ejemplo

Imagen 1 en ¿Cómo desplegar librerías en Apache Maven con Artifactory?

Tenemos esta librería, que aglutina el comportamiento reutilizable de operaciones de entrada-salida, como lectura de archivos. En el fichero pom.xml de esa librería, vamos a establecer una configuración de su distribution management, que es el repositorio donde se tienen que subir las librerías.

En el distribution management definimos dos repositorios, uno para releases y otro para snapshots:


<distributionManagement>
     <repository>
       <id>my_artifactory</id>
       <name>Release Repository</name>
       <url>https://openwebinars.net/artifactory/libs-release-local</url>
     </repository>
      <snapshotRepository>
       <id>my_artifactory</id>
       <name>Snapshot Repository</name>
        <url>https://openwebinars.net/artifactory/libs-snapshot-local</url>
     </snapshotRepository>
</distributionManagement>

Ambos repositorios se identifican como my_artifactory, es así porque este repositorio tiene autenticación básica y requiere usuario y contraseña, con lo que hay que establecer en algún sitio esas credenciales.

Para ello, Maven ha previsto, en su archivo settings.xml, la posibilidad de establecer bajo la pestaña <servers> la posibilidad de establecer las credenciales de un servidor. Esa identificación que se establece es la forma en la que se relaciona en la definición en la marca <distributionManagement>

En este caso incluiríamos este código de ejemplo:

<server>
      <id>my_artifactory</id>
      <username>openwebinars</username>
      <password>123456</password>
</server>

A continuación procedemos a realizar la subida de esta librería, teniendo en cuenta que si se trata de una librería snapshot podemos sobrescribir la existente en el repositorio, y en el caso de que fuera una versión release, por ejemplo la versión 1.0, tendríamos que subir de versión, por ejemplo a la 1.1, ya que no se permite sobrescribir librerías liberadas de este tipo.

En este caso vamos a subir una librería tipo snapshot.

Imagen 2 en ¿Cómo desplegar librerías en Apache Maven con Artifactory?

Después desde la opción Run Configurations, ejecutamos el comando Maven clean deploy, aunque podríamos utilizar únicamente el comando deploy, pero es aconsejable usar el primero para evitar subir una librería con algunos cambios anteriores.

Imagen 3 en ¿Cómo desplegar librerías en Apache Maven con Artifactory?

Ejecutamos y en la pestaña de la consola vamos a ver el proceso que se realiza el comando.

Vemos que primero limpia el directorio target, después compila las fuentes, copia los recursos, empaqueta la librería, instala la librería en el repositorio local y por último, al haber usado el comando deploy, realiza la subida en el repositorio.

Una vez que finalice todo el proceso de forma satisfactoria, ya tendremos la librería disponible en la API Factory.

Imagen 4 en ¿Cómo desplegar librerías en Apache Maven con Artifactory?

Aprende todo lo que necesitas para trabajar con proyectos que usen Apache Maven y conoce las soluciones que hay que usar para resolver los problemas más frecuentes que pueden ocurrir.

cta-blog-curso-maven

Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Programador Java Web

Programador Java Web

carrera

Incluye 8 cursos:

  • Curso de Java 8 desde Cero
  • Java 8 para programadores Java
  • Curso de Spring Framework de Java

y 5 cursos más!

Duración: 52 horas y 54 minutos

Usar Apache Maven como una herramienta colaborativa

Usar Apache Maven como una herramienta colaborativa

Metodologías y herramientas

30 de Abril de 2019

Descubre cómo utilizar Apache Maven como herramienta colaborativa para aprovechar esta característica tan útil pero que pasa desapercibida para muchos desarrolladores.

Curso de Maven

Curso de Maven

curso

Con este curso aprenderás:

  • Configurar tu entorno de desarrollo con Apache Maven.
  • Comprenderás los conceptos clave de Apache Maven.
  • Dominarás el ciclo de vida de Apache Maven.

Duración: 4 horas y 55 minutos

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars