2011-11-06 25 views
29

Es .:Che cosa rappresenta il tag genitore in Maven pom?

<parent> 
    <groupId>mycompany.trade.com</groupId> 
    <artifactId>mycompany.trade.</artifactId> 
    <version>1.1.1.0-SNAPSHOT</version> 
</parent> 

Vuol dire che Maven cercherà pom genitore? Se sì, dove, in quale ordine? Potrebbe essere nella cartella fino a 1 livello? O nel repository locale o in repo?

Grazie.

risposta

24

Sì, Maven legge il padre POM dal repository locale (o proxy come nexus) e crea un 'POM efficace' unendo le informazioni dal padre e dal modulo POM.

Vedi anche Introduction to the POM

Una ragione per usare un genitore è che avete un posto centrale per memorizzare le informazioni sulle versioni di manufatti, del compilatore-settings ecc che devono essere utilizzati in tutti i moduli.

0

Le dipendenze comuni, Proprietà, costanti ecc possono essere definded nel genitore centro del progetto pom.xml

La principale cosa importante è il progetto principale non può essere distribuito e sembra più simile come pom.xml normale tranne che imballaggi tag

<groupId>com.company.demo</groupId> 
    <artifactId>MavenInheritance</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>pom</packaging> 

Il bambino ora in grado di ereditare questo utilizzando

<parent> 
     <groupId>com.company.demo</groupId> 
     <artifactId>MavenInheritance</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </parent> 
Problemi correlati