Sono nuovo di Maven e sto cercando di capire perché i moduli della mia azienda sono organizzati in "gruppi di moduli", ma anche ciascun sottomodulo dichiara esplicitamente il suo genitore. Non capisco bene cosa stia cercando di dire il riferimento POM riguardo allo difference between inheritance and aggregation.Apache Maven: Qual è la differenza tra Ereditarietà, Aggregazione e Dipendenze?
Ad esempio, un modulo di genitore:
<groupId>example.group</groupId>
<artifactId>util</artifactId>
<packaging>pom</packaging>
<name>Util Parent</name>
<modules>
<module>util_client</module>
<module>util_core</module>
<module>util_server</module>
</modules>
e uno dei suoi figli:
<parent>
<artifactId>util</artifactId>
<groupId>example.group</groupId>
<version>trunk-SNAPSHOT</version>
</parent>
<groupId>example.group.util</groupId>
<artifactId>util_core</artifactId>
<packaging>jar</packaging>
<name>Util Core</name>
Perché dichiarano entrambe le cose? È ridondante? Per rendere le cose ancora più confuse, alcuni dei sottomoduli util dipendono vicenda:
<groupId>example.group.util</groupId>
<artifactId>util_client</artifactId>
<packaging>jar</packaging>
<name>Util Client</name>
<dependencies>
<dependency>
<groupId>example.group.util</groupId>
<artifactId>util_core</artifactId>
</dependency>
</dependencies>
Scusate se questo è un doozy di una domanda, ma wow questo è confusa! Grazie per l'aiuto.
Quindi, perché esattamente non desidero specificare 'util_core' come sottomodulo di' util_client'? 'Util_client' sarebbe ancora compilato? –
Non verrà compilato fino a quando 'util_core' è stato installato' mvn install' Se lo si fa dal livello più alto, lo compilerà tutto in ordine. –