2012-05-19 22 views
18

Ho 3 Maven progettiMaven - Come costruire progetti multipli indipendente Maven da un progetto

  • WebComponents
  • DataComponents
  • ServiceComponents

Quando costruisco ciascuno dei progetti che ho per entrare in ogni cartella ed eseguire mvn clean install su ciascuno dei progetti.

Ho esaminato progetti a più moduli e la maggior parte delle risorse che vedo suggeriscono di dover apportare modifiche alla struttura dei miei progetti esistenti.

E 'possibile avere un nuovo progetto che costruirà ciascuno dei progetti indipendenti senza che io debba apportare alcuna modifica a qualcosa nel progetto esistente compresi i singoli file pom?

Posso raggiungere questo risultato scrivendo un semplice file batch che crea tutti i progetti ma è possibile utilizzare Maven?

risposta

30

Stai cercando Maven aggregation without inheritance. Come mostrato nella pagina di riferimento, è sufficiente creare un nuovo POM la cui confezione è "pom" e che ha un elenco di "moduli". Un modulo è un percorso relativo a un altro progetto Maven:

<project> 
    ... 
    <packaging>pom</packaging> 
    ... 
    <modules> 
    <module>foo</module> <!-- module is in a subdirectory of this project --> 
    <module>../bar</module> <!-- module is a sibling to this project --> 
    <module>../../../other-projects/baz</module> <!-- somewhere else entirely --> 
    </modules> 
</project> 

comportamento predefinito quando la costruzione di un tale pom - conosciuto come un "aggregatore" - è quello di costruire tutti i moduli come se avessi eseguito Maven in ogni directory del modulo con gli stessi argomenti.

5

Se si aggiunge un progetto di aggregatore nella directory sopra i tre progetti che li denominano come moduli (nome modulo = nome sottodirectory), verrà creato senza alcuna modifica nelle proprie POM. Non hanno bisogno di fare riferimento come genitore.

+0

Questo è stato un grande aiuto, grazie! – NiranjanBhat

Problemi correlati