¿Cómo vinculas las versiones de los artefactos de Maven en el administrador de repositorios de Nexus?

Estoy construyendo contra varios artefactos de Lucene y Solr Maven del repositorio Maven de Apache alojado en el administrador de repositorio Nexus. Los artefactos son versión 4.0-SNAPSHOT y actualícese diariamente, y los artefactos más antiguos se eliminen regularmente.

Me preguntaba cómo vincular los artefactos a una fecha específica, de modo que cada vez que un cliente de Maven pidiera solr-core 4.0-SNAPSHOT, obtendría la misma versión incluso si hubiera una más nueva en sentido ascendente.

También me gustaría saber cómo actualizar explícitamente a la última 4.0-SNAPSHOT, pero aún conserva todas las versiones anteriores que se descargaron.

Específicamente, el repositorio "Apache Snapshots" es el predeterminado que viene configurado cuando instalas Nexus.

preguntado el 03 de mayo de 12 a las 08:05

2 Respuestas

Cuando se implementa una instantánea en un servidor de repositorio, cada nueva implementación se implementa como una versión con marca de tiempo con un número de iterador adjunto. Si desea usar una versión específica, simplemente use la versión de marca de tiempo de la instantánea en lugar de -SNAPSHOT.

ej., mira https://repository.apache.org/content/groups/snapshots/org/apache/maven/artifact/maven-artifact/3.0-alpha-2-SNAPSHOT/

Podrías usar este artefacto como

<groupId>org.apache.maven.artifact</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.0-alpha-2-SNAPSHOT</version>

que lo cambiaría cada vez que se implementa una nueva instantánea o podría usar

<groupId>org.apache.maven.artifact</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.0-alpha-2-20090214.020928-1</version>

que quedaría igual. Sin embargo, tenga en cuenta que un repositorio de instantáneas NO es estático por naturaleza y estos artefactos podrían desaparecer por completo. Solo haga eso si está utilizando un servidor de repositorio interno que puede controlar y, por lo tanto, asegúrese de que esas instantáneas no desaparezcan.

Otra forma de hacerlo es cortar una versión y usarla.

contestado el 03 de mayo de 12 a las 22:05

Puede utilizar el versiones maven plugin para anclar a una versión particular de SNAPSHOT que solo es válida mientras la SNAPSHOT esté disponible en el repositorio apropiado. Pero recomendaría usar un administrador de repositorios y obtener las INSTANTÁNEAS en un repositorio local y trabajar con ellos en su lugar. Lo que también es posible es obtener una INSTANTÁNEA en particular y hacer una versión interna de ella, por ejemplo, 4.0.1-INTERNO como y hacer que esté disponible por más tiempo en función de eso.

contestado el 03 de mayo de 12 a las 20:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.