Maven busca dependencias actualizadas en el repositorio


167

¿Existe un complemento de Maven que le permita verificar si hay nuevas versiones de dependencias disponibles en el repositorio?

Digamos que está utilizando la dependencia X con la versión 1.2. Ahora se lanza una nueva versión de X con la versión 1.3. Me gustaría saber, en función de las dependencias utilizadas en mi proyecto, qué dependencias tienen versiones más nuevas disponibles.


Respuestas:


284

El complemento Maven Versions y su display-dependency-updatesmojo son lo que estás buscando:

mvn versions:display-dependency-updates

Así es como se ve la salida:

[INFO] ------------------------------------------------------------------------
[INFO] Building Build Helper Maven Plugin
[INFO]    task-segment: [versions:display-dependency-updates]
[INFO] ------------------------------------------------------------------------
[INFO] [versions:display-dependency-updates]
[INFO]
[INFO] The following dependency updates are available:
[INFO]   org.apache.maven:maven-artifact ........................ 2.0 -> 2.0.9
[INFO]   org.apache.maven:maven-plugin-api ...................... 2.0 -> 2.0.9
[INFO]   org.apache.maven:maven-project ....................... 2.0.2 -> 2.0.9
[INFO]   org.codehaus.plexus:plexus-utils ....................... 1.1 -> 1.5.6
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17 seconds
[INFO] Finished at: Fri Aug 15 10:46:03 IST 2008
[INFO] Final Memory: 10M/167M
[INFO] ------------------------------------------------------------------------

Gracias pascal Eso es lo que estaba buscando. Sin embargo, para Spring versión 3.0.1.RELEASE, informa una versión más nueva de 2.5.6. Tal vez un error en el complemento?
froethen

1
@Felix De nada. Con respecto al artefacto de Spring, me pregunto si el problema no se debe al hecho de que Spring no sigue "la regla" : la versión debe ser 3.0.1-RELEASE, no 3.0.1.RELEASE. En otras palabras, no estoy seguro de que sea un error (quiero decir, claro, esperaría que el plugin informe 3.0.1.RELEASE también como más reciente, pero no estoy seguro de que esto sea aceptado como un error).
Pascal Thivent

1
La comprobación de actualizaciones maven-plugin-apitambién se puede utilizar para verificar las versiones más recientes de Maven, ya que se publica una nueva versión de esta dependencia para cada versión de Maven.
Tunaki

Es bueno saberlo. Sin embargo, ¿hay alguna forma de tener este informe cuando creamos un proyecto en lugar de tener que escribir ese comando explícitamente?
Frederic

33

Si desea recibir notificaciones por correo electrónico cuando haya nuevas versiones de artefactos disponibles en Maven Central , puede crear una cuenta en artifact-listener y elegir qué artefacto desea seguir.
Puede buscar artefactos manualmente o cargar directamente su pom.xml.

Periódicamente recibirás notificaciones como esta (disponible en inglés y francés por ahora):

Oyente de artefactos Maven


22

El VersionEye Maven Plugin está haciendo lo mismo: versioneye_maven_plugin .

VersionEye también puede notificarle sobre nuevas versiones en los repositorios de Maven. Es una herramienta independiente del lenguaje y, además de Java, admite otros 7 idiomas. Además de la sencilla función de seguimiento / notificación, también puede monitorear directamente los repositorios de GitHub y BitBucket y notificarle sobre dependencias desactualizadas en sus proyectos.

ingrese la descripción de la imagen aquí

También hay una API REST JSON , para integraciones de herramientas.

Por cierto, soy el tipo que comenzó este proyecto. Déjeme saber si usted tiene preguntas.


1
El proyecto está cerrado :(
Alireza Fattahi

3

Puede usar el complemento Versions Maven [1] para generar informes en su sitio Maven para obtener una lista de posibles actualizaciones. Con respecto a la irregularidad de Spring, parece utilizar el sistema de versiones Mercury [2]. Al configurar el complemento Versiones, puede agregar una regla especial para las cosas de Spring:

  1. http://mojo.codehaus.org/versions-maven-plugin/
  2. http://docs.codehaus.org/display/MAVEN/Mercury+Version+Ranges

2
¿Podría dar un ejemplo?
Zarathustra

1

En los proyectos con un gran número de dependencias, en ocasiones mantiene sus versiones en una sección de propiedades.

    <properties>
        <assertj.version>3.15.0</assertj.version>
        <aws-sdk.version>1.11.763</aws-sdk.version>
        <cxf.version>3.3.6</cxf.version>

En el caso de que solo le interesen las actualizaciones de esas versiones, puede usar el siguiente comando

mvn versions:display-property-updates

Esto proporciona una vista más condensada y solo devuelve las versiones que necesita actualizar en la sección de propiedades.


Respuesta infravalorada.
RUMANIA_ingeniero
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.