2012-11-02 12 views
5

Ho un progetto con diverse dipendenze su un altro progetto.come creare il progetto dipendente da costruzione maven

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>group1</groupId> 
<artifactId>artifact1<artifactId> 
<name>RealtyRegistry</name> 
<packaging>war</packaging> 
<version>1.0.0-SNAPSHOT</version> 
<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
<dependencies> 
    <dependency> 
     <groupId>group1</groupId> 
     <artifactId>artifact2</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
    <dependency> 
     <groupId>group1</groupId> 
     <artifactId>artifact3</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
</dependencies> 

Tutti sviluppati da me simultaneamente. Aggiungo l'edizione ai file di tutto il progetto e ho bisogno di costruire il progetto principale insieme a quelli dipendenti. Come farlo per i progetti senza struttura ad albero?

Possono esserci 2 o più alberi di copertura per la gerarchia dei progetti, ad esempio: A dipende da B, C; D dipende da C, E; A e D sono indipendenti.

risposta

6

È possibile creare più progetti insieme utilizzando "Moduli". Normalmente, puoi farlo creando un progetto "madre" con <packaging>pom</packaging> e aggiungendo il tuo progetto reale come moduli usando il tag <modules>. Quindi, quando si crea il progetto "madre", tutti i moduli vengono automaticamente creati nell'ordine corretto.

Ecco un esempio dal libro Maven by Example:

<groupId>org.sonatype.mavenbook.multi</groupId> 
<artifactId>simple-parent</artifactId> 
<version>1.0</version> 
<packaging>pom</packaging> 

<modules> 
    <module>simple-weather</module> 
    <module>simple-webapp</module> 
</modules> 

Si noti che questo richiede di avere i moduli in sottocartelle denominate conseguenza. Ad esempio, si avrebbe la pom "madre" in qualche cartella:

/.../my-project/ 

ed i moduli in:

/.../my-project/simple-weather/ 
/.../my-project/simple-webapp/ 

Per ulteriori informazioni, leggere Chapter 6. A Multi-module Project del libro, è liberamente disponibile sul Sonatype sito web.

+0

La cosa è che i miei progetti di maven non formano un albero per metterli in sottocartelle. Possono esserci 2 o più alberi di copertura per la gerarchia dei progetti, ad esempio: A dipende da B, C; D dipende da C, E; A e D sono indipendenti. – Vyacheslav

+0

specifica queste dipendenze all'interno del modulo del dipendente. – Will

+0

@Vyacheslav C'è un equivoco qui: il sistema del modulo non ha nulla a che fare con le dipendenze. I tuoi progetti potrebbero avere dipendenze arbitrarie tra loro. L'unica cosa nuova è che tu li dichiari come moduli del progetto principale e li metti in sottocartelle l'una accanto all'altra. – rolve

Problemi correlati