2012-04-19 10 views
18

Ho un problema riguardante le versioni dei plugin.Plugin "versioni" Maven - come escludere le versioni alfa/beta dalla risposta?

Quando si genera un report con l'obiettivo:

mvn versions:display-dependency-updates 

Si suggerisce è un sacco di librerie che con le versioni beta o alpha.

org.hibernate:hibernate-validator ......... 4.2.0.Final -> 4.3.0.Beta1 

Il problema è che se l'obiettivo evento di questo plugin è quello di mostrare le più recenti versioni di ogni dipendenza, non voglio usare le versioni beta/alfa per il codice di produzione. Ma non voglio nemmeno cercare manualmente l'ultima versione stabile.

Ho provato l'opzione 'comparisonMethod': numerica, maven, ecc. Nessun successo.

Qualche idea per le "versioni" del plugin per mostrare le versioni disponibili delle dipendenze latenti, ma senza includere beta/alpha?

risposta

15

È possibile configurare le versioni plugin come questo:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>versions-maven-plugin</artifactId> 
    <version>2.1</version> 
    <configuration> 
     <rulesUri>someUrl</rulesUri> 
    </configuration> 
</plugin> 

someUrl può anche essere un URL di file. La sintassi del file delle regole è data in http://www.mojohaus.org/versions-maven-plugin/version-rules.html, può contenere qualcosa del genere:

<ignoreVersions> 
    <ignoreVersion type="regex">.*-beta.</ignoreVersion> 
    <ignoreVersion type="regex">.*_ALPHA</ignoreVersion> 
</ignoreVersions> 
+3

Bella spiegazione. Ho finalmente aggiornato il mio POM comune utilizzando questo esempio. [Questo impegno] (https://github.com/jjzabkar/jjz-base-pom/commit/faac44c8a6ca0831fcdd89459628c77363045bb1) mostra l'implementazione. –

+0

Il tuo secondo snippet di codice non è ben formato, manca una 'e' nel tag di chiusura. :-) – mle

+0

Un peccato che ci sia voluto più di un anno perché qualcuno se ne accorgesse. –