martes, 12 de mayo de 2009

Repositorios Maven

En este post se explica cómo utilizar un repositorio propio de dependencias, para almacenar los ficheros .jar de nuestros proyectos Maven.

Maven mete los jar en determinados sitios de forma que queden accesibles para otros proyectos Maven.

Por un lado hay un repositorio local de jars, en el mismo ordenador. Está en $HOME/.m2/repository. Aquí se van guardando todos los jar que se bajan automáticamente de internet y los de mis proyectos cuando yo lo indico. Este repositorio sólo está accesible para un usuario en un ordenador.

Por otro lado está internet, en el que hay jars típicos (log4j.jar, junit.jar, etc). Maven se baja de allí los jar cuando los necesita y los guarda en nuestro repositorio local.

Podemos configurar además un respositorio para el equipo de trabajo, de forma que los jar "oficiales" del proyecto se guardan allí y están disponibles para todos los ordenadores y usuarios de ese equipo de trabajo. (Ver Como crear y gestionar repositorios con Artifactory)

Partimos de que tengamos creado un repositorio propio (puede hacerse con Artifactory), por ejemplo:

 id nombre_asignado_por_artifactory /id


nombre nombre_asignado_por_artifactory /nombre


url http://localhost:8080/artifactory/nombre_repositorio /url
Ahora tendremos que configurar el fichero settings.xml (Yo lo tengo en "C:\apache-maven-2.1.0\conf") de Maven para la conexión con el repositorio, de manera que, editamos el fichero y añadimos las siguientes líneas dentro de la etiqueta :

server

id nombre_asignado_por_artifactory /id

username usuario_artifactory /password

password password_artifactory
/password

/server

A continuación, configuramos el fichero pom.xml de nuestros proyectos para que por defecto genere los .jar en el repositorio que hemos creado y podamos compartirlo con los demás proyectos Maven, como antes se menciona. Editamos el fichero e introducimos:

project
...
distributionManagement

repository

id nombre_asignado_por_artifactory
/id
nombre nombre_asignado_por_artifactory /nombre
url http://localhost:8080/artifactory/nombre_repositorio /url

/repository


snapshotRepository

id nombre_asignado_por_artifactory /id
nombre nombre_asignado_por_artifactory /nombre
url http://localhost:8080/artifactory/nombre_repositorio /url

/snapshotRepository

/distributionManagement
...
/project

Una vez hecho esto, con mvn deploy, se generan los jar del proyecto y se guardan en el repositorio indicado en la etiqueta distributionManagement.

No hay comentarios:

Publicar un comentario