Compartir librerias con Maven

B

Tenemos dos proyectos, servidor-cliente. Queremos que los dos utilicen los mismos POJOs. Por ello hemos creado un 3er proyecto que agrupa todos esos POJOs y que con maven podemos importarlos.

El caso es, como se suele hacer? Porque la unica manera que se me ocurre es versionar el proyecto con un CVS y cada uno se tendrá que bajar dicho proyecto, generar el .jar y despues lo añadimos en el pom.xml? Es que lo veo un poco innecesario eso de tener que bajar el proyecto entero (si además no lo va modificar) solo para poder usar el .jar.

Lo ideal seria que yo desde el pom.xml añado la dependencia (además de especificar los datos del repositorio) y ya, no? Si eso es posible, como se hace?

pd: compartir a nivel de red local.

B

Sacas a un proyecto tus POJOS.
Mavenizas ese proyecto.

Lo usas como dependencia en cliente y en servidor.

1 respuesta
B

#2 Hasta aqui llego, pero mi pregunta es como comparto esa dependencia en un repositorio privado. Porque la idea es ir actualizando esos pojos y que tanto el cliente como el servidor puedan trabajar con la última version de la libreria.

2 respuestas
B

#3 Cada vez que los pojos cambian de version, puedes hacer maven clean install y se instalaran en tu m2repository. (esto es válido sólo para tu local).

Lo suyo al trabajar en equipo, es que cada RELEASE de los pojos los subieras algún gestor de repositorios tipo NEXUS.
http://www.sonatype.org/nexus/

B

La idea es que configures tu maven para que tire de un repositorio personal tipo nexus ( para tus librerias ) a parte del tipico maven central o mvnrepository.

Yo actualmente en mi empresa uso Nexus, pero seguro que hay otros también...

bornex

#3 Lo que buscas es esto:

https://www.jfrog.com/open-source/

1 2 respuestas
B

#6 Efectivamente, eso le valdría.

B

#6 Bravo

Hago resumen para los que tambien les interese:

-Descargar el jfrgo-artifactory y arrancarlo.
-Ir a http://localhost:8081/artifactory/webapp/#/home
-Se abrira un wizzard pidiendonos cosas, entre ella el tipo de repositorio que queremos, seleccionamos Maven
-Por defecto se crean una serie de directorios: libs-releases, libs-snapshot, entre otros.
-Ir al menu Artifacts -> Deploy
-Seleccionar el directorio al que queremos que vaya nuestro .jar (en mi caso, selecciono libs-snapshot)
-Subimos nuestro archivo .jar y comprobamos que se ha reconocido correctamente el groupId y artifactId. Hacemos deploy.
-Sin irnos de la pagina Artifacts, seleccionamos el boton que esta a la derecha de Deploy: Set me up
-Copiamos el trozo de xml que se nos proporciona (que es informacion sobre como acceder a dicho repositorio) y le pegamos en nuestro pom.xml

<distributionManagement>
    <snapshotRepository>
        <id>snapshots</id>
        <name>rfid-snapshots</name>
        <url>http://localhost:8081/artifactory/libs-snapshot</url>
    </snapshotRepository>
</distributionManagement>

-Añadimos la dependencia que hace referencia la jar que hemos subido. Maven la tiene que encontrar en el repositorio que le hemos indicado antes.

<dependencies>
    <dependency>
        <groupId>my.group</groupId>
        <artifactId>my-artifact</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>

-Profit

1 respuesta
bornex

#8 Muchas gracias por el mini manual :)

Yo lo uso en la ofi, por eso lo conocía.

Usuarios habituales