2010-04-21 11 views
123

Esiste un plug-in Maven che consente di verificare se sono disponibili versioni più recenti delle dipendenze nel repository?Maven verifica la presenza di dipendenze aggiornate nel repository

Supponiamo che si stia utilizzando la dipendenza X con la versione 1.2. Ora una nuova versione di X è rilasciata con la versione 1.3. Mi piacerebbe sapere, in base alle dipendenze utilizzate nel mio progetto, quali dipendenze hanno versioni più recenti disponibili.

+0

Domanda correlata: http://stackoverflow.com/questions/431332/. –

risposta

222

Il Maven Versions plugin e la sua display-dependency-updates mojo sono quello che stai cercando:

mvn versions:display-dependency-updates

Ecco ciò che il risultato è simile:

[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

Grazie Pascal. Questo è quello che stavo cercando. Tuttavia, per Spring versione 3.0.1.RELEASE riporta una versione più recente di 2.5.6. Forse un bug nel plugin? – froethen

+0

@Felix, sei il benvenuto. Per quanto riguarda l'artefatto di primavera, mi chiedo se il problema non è dovuto al fatto che Spring non sta seguendo ["la regola"] (http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+ Risoluzione): la versione dovrebbe essere 3.0.1-RELEASE, non 3.0.1.RELEASE.In altre parole, non sono sicuro che sia un bug (voglio dire, certo, mi aspetterei che il plugin riporti 3.0.1.RELEASE come nuovo, ma non sono sicuro che questo sarebbe accettato come un bug). –

+1

Controllare gli aggiornamenti 'maven-plugin-api' può anche essere usato per controllare le nuove versioni di Maven stesso da quando una nuova versione di questa dipendenza viene rilasciata per ogni versione di Maven. – Tunaki

3

Offriamo le versioni Maven Plugin [ 1] per generare report nel tuo sito Maven per ottenere un elenco di possibili aggiornamenti. Per quanto riguarda l'irregolarità di Spring, sembra che utilizzi il sistema di controllo delle versioni di Mercurio [2]. Quando si configura il plugin versioni, è possibile aggiungere una regola speciale per le cose di primavera:

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

potresti fornire un esempio? – Zarathustra

26

Se si desidera ricevere notifiche e-mail quando più recenti versioni di artefatti sono disponibili su Maven Central è possibile creare un account su artifact-listener e scegli quale artefatto vuoi seguire.
Puoi cercare manualmente gli artefatti o caricare direttamente il tuo pom.xml.

notifiche

Sarà periodicamente ricevuti come questo (disponibile in inglese e francese per ora):

Maven artifact listener

17

Il VersionEye Maven Plugin sta facendo lo stesso: versioneye_maven_plugin.

VersionEye può notificare anche le nuove versioni sui repository Maven. È uno strumento indipendente dal linguaggio e accanto a Java supporta altre 7 lingue. Oltre alla semplice funzione follow/notify, può anche monitorare direttamente i repository GitHub e BitBucket e notificare le dipendenze obsolete nei progetti.

enter image description here

C'è anche un REST JSON API, per integrazioni di utensili.

A proposito, sono il tizio che ha iniziato questo progetto. Fammi sapere se hai domande.

Problemi correlati