lunes, 9 de abril de 2018

Maven Guia para instalar dependencias en el repositorio local de Maven

Cualquier jar que necesitemos en nuestro proyecto java construido y gestionado con Maven, será considerado como una dependencia. Estas dependencias no siempre se encontrarán en el Repositorio remoto de Maven. Algunas dependencias serán de terceros, que si bien fueron construidos con Maven, estás no se encontrarán en el repositorio Remoto. Peor aun, algunos jars ni siquiera serán construidos con Maven, ya que muchas empresas aun usan Ant, o puede que el jar sea de un proyecto legacy que fue desarrollado cuando no existía Maven.

Ya viví esta situación en la empresa, estoy iniciando un nuevo proyecto web, y para mayor comodidad estoy usando Maven para la construcción y gestión del proyecto, este proyecto usará otros proyectos desarrollados en la empresa. Proyectos que son gestionados con Ant y que por esta razón no siguen el estándar de Maven, es decir, no tienen un archivo POM, no se encuentran en un Repositorio Maven, ni local ni remoto. Y es así como surge la pregunta, como agrego estos jars a la lista de dependencias en mi POM.

Pues me puse a investigar y aquí les comparto una guía, vamos abordar los distintos escenarios. Esta guía esta probada para Windows.

1.- Instalar un jar como dependencia en el Repositorio local Maven
Desde luego, estoy asumiendo que tienes Maven instalado y configurado correctamente. Si no, te sugiero leer la entrada Instalar Maven

Abrimos una consola de comandos en Windows y vamos hasta el directorio donde se encuentra nuestro jar.

Ejecutamos lo siguiente



Donde nombre-jar será el nombre del jar a instalar, y el resto de atributos son los atributos conocidos de una dependencia Maven.

Después de ejecutar este comando, si vamos nuestro directorio .m2 dentro del directorio de nuestro usuario Windows, y luego entramos a repository, y siguiendo la ruta según el groupId, vamos a ver que tenemos instalado nuestro jar junto con el archivo pom.xml y otros archivos metadatos.


Ahora sí, ya podemos agregar esta dependencia al proyecto que lo requiera, usaremos los datos (groupId, artifactId, version y packaging) usados en la instalación de la dependencia.

Continuara...





No hay comentarios:

Publicar un comentario