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.

refroidit
la source
Question connexe: stackoverflow.com/questions/431332 .
Sergey Brunov

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] ------------------------------------------------------------------------
Pascal Thivent
la source
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

rd3n
la source
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.

Robert Reiz
la source
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
jrh3k5
la source
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.

mouton
la source
Réponse sous-estimée.
ROMANIA_engineer