Progetto web multi-modulo con Spring and Maven

4

Supponiamo di avere alcuni progetti, ciascuno contenenti alcune risorse web (ad es. pagine html).

parent.pom
 +- web           (war)
 +- web-plugin-1  (jar)
 +- web-plugin-2  (jar)
 ...

Diciamo che web è il progetto distribuibile war che dipende dal set di plugin noto ma selezionabile.

Quale è un buon modo per configurarlo utilizzando Spring e maven ?

  1. Consenti ai plug-in di essere war di progetti e utilizza il supporto di povero per l'importazione di altri progetti war
  2. Metti tutte le risorse web per tutti i plug-in nel progetto web
  3. Aggiungi tutte le risorse web al percorso di classe di tutte le jar web-plugin-* dependencie e lascia che la molla legga i file dal rispettivo percorso di classe?
  4. Altro?

In precedenza provengo dall'uso di #1 , ma la semantica copy-paste delle dipendenze war di maven è orribile.

    
posta Johan Sjöberg 30.06.2013 - 15:46
fonte

1 risposta

2

bene, io uso per lavorare con il punto 3, definendo tutte le dipendenze al padre del genitore, inclusi i moduli delle dipendenze, in questo modo:

<parent>
    <groupId>cat.base.baseframe</groupId>
    <artifactId>projecte-pare-baseframe</artifactId>
    <version>0.0.11.a</version>
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<modules>
    <module>ogc.domini</module>
    <module>ogc.logica</module>
    <module>ogc.ejb</module>
    <module>ogc.ear</module>
    <module>ogc.ui</module>
    <module>ogc.assistent</module>
</modules>

<dependencies>
    <dependency>
        <groupId>cat.base.cuesfeina</groupId>
        <artifactId>cuesfeina.domini</artifactId>
        <version>0.0.3</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>cat.base.gea</groupId>
        <artifactId>gea.domini</artifactId>
        <version>0.0.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>baseOnline.ajudes</groupId>
        <artifactId>ajudes.domini</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>cat.base.tramitador</groupId>
        <artifactId>tramitador.domini</artifactId>
        <version>0.0.4</version>
        <scope>provided</scope>
    </dependency>
<dependency>
        <groupId>cat.base</groupId>
        <artifactId>mme.domini</artifactId>
        <version>1.3.3</version>
        <scope>provided</scope>
    </dependency>

- >     

tutto a casa dei genitori di Pom è facile trovare quello che ti serve. se hai bisogno di chiamare un servizio, io uso per creare un jar pubblico con funzioni per chiamare il servizio come ejb ...

    
risposta data 12.07.2013 - 13:18
fonte

Leggi altre domande sui tag