2010-04-21 6 views
123

Existe-t-il un plugin Maven permettant de vérifier si de nouvelles versions de dépendances sont disponibles dans le référentiel?Maven recherche les dépendances mises à jour dans le référentiel

Dites, 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. Je voudrais savoir, en fonction des dépendances utilisées dans mon projet, quelles dépendances ont des versions plus récentes disponibles.

+0

Question connexe: http://stackoverflow.com/questions/431332/. –

Répondre

222

Le Maven Versions plugin et son display-dependency-updates Mojo sont ce que vous cherchez:

mvn versions:display-dependency-updates

Voici ce que la sortie ressemble à:

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

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? – froethen

+0

@Felix De rien. En ce qui concerne l'artefact du printemps, je me demande si le problème n'est pas dû au fait que Spring ne suit pas ["la règle"] (http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+ Résolution): la version doit être 3.0.1-RELEASE, pas 3.0.1.RELEASE.En d'autres termes, je ne suis pas sûr que ce soit un bug (je veux dire, bien sûr, je m'attendrais à ce que le plugin rapporte 3.0.1.RELEASE comme plus récent, mais je ne suis pas sûr que cela soit accepté comme un bug). –

+1

Vérification des mises à jour 'maven-plugin-api' peut également être utilisé pour vérifier les versions les plus récentes de Maven lui-même, car une nouvelle version de cette dépendance est publiée pour chaque version de Maven. – Tunaki

3

Vous pouvez utiliser les versions Maven Plugin [ 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 version Mercury [2]. Lors de la configuration du plug-in Versions, vous pouvez ajouter une règle spéciale pour des trucs de printemps:

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

pourriez-vous donner un exemple? – Zarathustra

26

Si vous souhaitez recevoir des notifications par courriel lorsque de nouveaux des versions d'artefacts sont disponibles sur Maven Central vous pouvez créer un compte sur artifact-listener et choisissez l'artefact que vous voulez suivre.
Vous pouvez rechercher manuellement des artefacts ou télécharger directement votre fichier pom.xml.

Vous notifications reçues périodiquement comme celui-ci (disponible en anglais et en français pour l'instant):

Maven artifact listener

17

Le VersionEye Plugin Maven fait le même: versioneye_maven_plugin. VersionEye peut également vous informer des nouvelles versions des référentiels Maven. C'est un outil agnostique de langage et à côté de Java il prend en charge 7 autres langues. En plus de la simple fonction de suivi/notification, il peut également surveiller directement les dépôts GitHub et BitBucket et vous informer des dépendances obsolètes de vos projets.

enter image description here

Il y a aussi un REST JSON API, pour les intégrations d'outils. En passant, je suis le mec qui a commencé ce projet. Faites moi savoir si vous avez des questions.

Questions connexes