Maven controlla le dipendenze aggiornate nel repository


167

Esiste un plug-in Maven che ti consente di verificare se ci sono versioni più recenti di dipendenze disponibili nel repository?

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


Risposte:


284

Il plug-in Maven Versions e il suo display-dependency-updatesmojo sono ciò che stai cercando:

mvn versions:display-dependency-updates

Ecco come appare l'output:

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

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

1
@Felix Prego. Per quanto riguarda l'artefatto di Spring, mi chiedo se il problema non sia dovuto al fatto che Spring non segue "la regola" : 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 aspetto che il plug-in riporti 3.0.1. RILASCIA anche come più recente, ma non sono sicuro che questo sarebbe accettato come un bug).
Pascal Thivent,

1
Il controllo degli aggiornamenti maven-plugin-apipuò essere utilizzato anche per verificare le versioni più recenti di Maven stesso poiché viene rilasciata una nuova versione di questa dipendenza per ogni versione di Maven.
Tunaki,

Buono a sapersi. Tuttavia, c'è un modo per avere questo rapporto quando costruiamo un progetto invece di dover digitare quel comando esplicitamente?
Frederic,

33

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

Riceverai periodicamente notifiche come questa (disponibile per ora in inglese e francese):

Ascoltatore di manufatti Maven


22

Il plugin VersionEye Maven sta facendo lo stesso: versioneye_maven_plugin .

VersionEye può informarti anche sulle nuove versioni dei repository Maven. È uno strumento indipendente dalla lingua e accanto a Java supporta altre 7 lingue. Oltre alla semplice funzione Segui / notifica, può anche monitorare direttamente i repository GitHub e BitBucket e notificare le tue dipendenze obsolete nei tuoi progetti.

inserisci qui la descrizione dell'immagine

Esiste anche un'API JSON REST , per l'integrazione degli strumenti.

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


1
Il progetto è chiuso :(
Alireza Fattahi,

3

Puoi utilizzare il plug-in Maven versioni [1] per generare report nel tuo sito Maven per ottenere un elenco di possibili aggiornamenti. Per quanto riguarda l'irregolarità della primavera, sembra utilizzare il sistema di versioning Mercury [2]. Quando si configura il plug-in Versions, è possibile aggiungere una regola speciale per gli elementi Spring:

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

2
potresti fornire un esempio?
Zarathustra,

1

Nei progetti con un numero elevato di dipendenze, a volte conservi le tue versioni in una sezione delle proprietà.

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

Nel caso in cui sei interessato solo agli aggiornamenti di tali versioni, puoi utilizzare il seguente comando

mvn versions:display-property-updates

Ciò offre una visione più concisa e restituisce solo le versioni che è necessario aggiornare nella sezione delle proprietà.


Risposta sottovalutata.
ROMANIA_engineer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.