2010-02-08 11 views
35

Ho un progetto con 5 moduli in Maven. In questo momento, quando eseguo una "installazione di mvn clean", genera un orecchio contenente i due vasi, uno di guerra e uno di altri moduli.Rimozione numero di versione dal nome file con Maven

Tutti i nomi dei file contengono la versione, ad esempio, ProjectX-ear-2.0.0.ear, ProjectX-client-2.0.0.jar, ecc

ho bisogno di rinominare uno dei vasi e la orecchio finale per omettere la versione nel nome del file. Esso dovrebbe essere simile a questo:

projectx-ear.ear 
| 
+-- projectx-client.jar 
| 
+-- projectx-misc-2.0.0.jar 
| 
+-- projectx-sar-2.0.0.sar 
| 
\-- projectx-web-2.0.0.web 

Proprio ora sto usando i seguenti plugin per costruire: Maven-compiler-plugin e maven-release-plugin

Quale sarebbe il modo migliore per raggiungere il risultati che mi aspetto?

risposta

19

Nel modulo orecchio, è possibile utilizzare l'elemento project.build.finalName oppure è possibile configurare la maven-ear-plugin che supporta un parametro opzionale finalName . E per configurare il nome finale di un contenitore in bundle, devi definire un jarModule e impostare la proprietà bundleFileName per esso.

La potenza configurazione finale sembra qualcosa di simile (ti spiegherò come impostare il nome all'orecchio finale nella configurazione del plugin qui):

<project> 
    [...] 
    <dependencies> 
    <dependency> 
     <groupId>yourgroupid</groupId> 
     <artifactId>projectx-client</artifactId> 
     <version>2.0.0</version><!-- not mandatory if inherited --> 
    </dependency> 
    [...] 
    </dependencies> 
    [...] 
    <build> 
    [...] 
    <plugins> 
     [...] 
     <plugin> 
     <artifactId>maven-ear-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <finalName>projectx-ear</finalName> 
      <modules> 
      <jarModule> 
       <groupId>yourgroupid</groupId> 
       <artifactId>projectx-client</artifactId> 
       <bundleFileName>anotherName.jar</bundleFileName> 
      </jarModule> 
      </modules> 
     </configuration> 
     </plugin> 
     [...] 
</project> 
+0

Grazie, esattamente quello di cui avevo bisogno! – Bani

+2

A partire da ora, le versioni successive del plugin (sto usando 2.6) ti permettono di specificare all'interno di 'a' no-version 'che cancella il numero di versione dei tuoi moduli (così tu non c'è bisogno di definire ciascuno di essi). Tuttavia, il nome dell'orecchio non è influenzato da questo. – SJuan76

82

È possibile raggiungere questo specificando la proprietà finalName nel pom in questo modo:

<build> 
    <finalName>${project.artifactId}</finalName> 
</build> 
+0

funziona come un fascino. Grazie! –

+0

A causa di questo tipo di risposte a una riga, adoro stackoverflow :) Grazie! – lord5et