Maven vérifie les dépendances mises à jour dans le référentiel


167

Existe-t-il un plugin Maven qui vous permet de vérifier s'il existe des versions plus récentes des dépendances disponibles dans le référentiel?

Disons que vous utilisez la dépendance X avec la version 1.2. Maintenant, une nouvelle version de X est publiée avec la version 1.3. J'aimerais savoir, en fonction des dépendances utilisées dans mon projet, quelles dépendances ont des versions plus récentes disponibles.


Réponses:


284

Le plugin Maven Versions et son display-dependency-updatesmojo sont ce que vous recherchez:

mvn versions:display-dependency-updates

Voici à quoi ressemble la sortie:

[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] ------------------------------------------------------------------------

Merci Pascal. C'est ce que je cherchais. Cependant, pour Spring version 3.0.1.RELEASE, il signale une version plus récente de 2.5.6. Peut-être un bug dans le plugin?
2010

1
@Felix De rien. Concernant l'artefact Spring, je me demande si le problème n'est pas dû au fait que Spring ne suit pas "la règle" : la version doit être 3.0.1-RELEASE, et non 3.0.1.RELEASE. En d'autres termes, je ne suis pas sûr que ce soit un bogue (je veux dire, bien sûr, je m'attendrais à ce que le plugin signale également 3.0.1.RELEASE comme plus récent, mais je ne suis pas sûr que cela serait accepté comme un bogue).
Pascal Thivent

1
La vérification des mises à jour maven-plugin-apipeut également être utilisée pour vérifier les nouvelles versions de Maven lui-même puisqu'une nouvelle version de cette dépendance est publiée pour chaque version de Maven.
Tunaki

C'est bon à savoir. Cependant, existe-t-il un moyen d'avoir ce rapport lorsque nous construisons un projet au lieu d'avoir à taper cette commande explicitement?
Frederic

33

Si vous souhaitez recevoir des notifications par e-mail lorsque de nouvelles versions d'artefacts sont disponibles sur Maven Central, vous pouvez créer un compte sur artefact-listener et choisir l'artefact que vous souhaitez suivre.
Vous pouvez rechercher manuellement des artefacts ou télécharger directement votre pom.xml.

Vous recevrez périodiquement des notifications comme celle-ci (disponible en anglais et en français pour l'instant):

Écouteur d'artefacts Maven


22

Le plugin VersionEye Maven fait la même chose: versioneye_maven_plugin .

VersionEye peut également vous informer des nouvelles versions sur les référentiels Maven. C'est un outil indépendant du langage et à côté de Java, il prend en charge 7 autres langues. En plus de la simple fonctionnalité de suivi / notification, il peut également surveiller directement les référentiels GitHub et BitBucket et vous informer des dépendances obsolètes dans vos projets.

entrez la description de l'image ici

Il existe également une API REST JSON , pour les intégrations d'outils.

Au fait, je suis le mec qui a lancé ce projet. Faites moi savoir si vous avez des questions.


1
Le projet est clos :(
Alireza Fattahi

3

Vous pouvez utiliser le plugin Versions Maven [1] pour générer des rapports sur votre site Maven afin d'obtenir une liste des mises à jour possibles. En ce qui concerne l'irrégularité de Spring, il semble utiliser le système de gestion des versions Mercury [2]. Lors de la configuration du plugin Versions, vous pouvez ajouter une règle spéciale pour les éléments Spring:

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

2
Pourriez-vous fournir un exemple?
Zarathustra

1

Dans les projets avec un grand nombre de dépendances, vous conservez parfois vos versions dans une section de propriétés.

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

Dans le cas où vous êtes uniquement intéressé par les mises à jour de ces versions, vous pouvez utiliser la commande suivante

mvn versions:display-property-updates

Cela donne une vue plus condensée et ne renvoie que les versions que vous devez mettre à jour dans la section des propriétés.


Réponse sous-estimée.
ROMANIA_engineer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.