Bonjour,
Je précise que je suis loin d'être un expert en Maven. J'utilise Maven 2 ici.
Voilà mon problème :
J'ai un premier projet, appellons-le fondations par exemple.
Il s'agit d'une webapp. Créer le .WAR n'est pas très complexe avec Maven, voilà le début de mon fichier pom.xml :
Pour faire simple, j'ai zappé les parties concernant les dépendences et quelques autres informations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <project> <modelVersion>4.0.0</modelVersion> <groupId>romain</groupId> <artifactId>fondations</artifactId> <packaging>war</packaging> <name>Projet Fondations</name> <version>1.0</version> ... <build> ... <finalName>fondations</finalName> </build> </project>
Donc quand je fais "mvn package", j'obtiens au final le fichier fondations/target/fondations.war
Maintenant, et c'est là que les choses se gâtent, j'ai un deuxième projet, appellons-le maison.
Le principe c'est que maison construit un WAR à partir du squelette de WAR créé par fondations.
Donc l'idéal pour moi, serait que lorsque je demande de faire maison.war, Maven procède comme suit:
1. Il compile le projet fondations.
2. Il crée le fichier fondations.war, qui contient les sources compilées de fondations ainsi que tous les fichiers de ce projet (JSP, html, XML, images, etc.)
3. Il "dézippe" le fondations.war dans maison/target/, et y ajoute tous les fichiers (Java, JSP, html, XML, images, etc.) de maisons.
4. Il recompile l'ensemble dans un fichier maison.war.
(à la limite, si je peux me passer de l'étape de compression des fichiers du projet fondations en .war, ce serait pas mal).
Donc pour répondre à ce problème, je me suis dit qu'il fallait sans doute définir le projet fondations comme parent du projet maison... Est-ce que cela résoudra effectivement mon problème ?
Si oui, comment dois-je écrire mon fichier pom.xml pour le projet maison ?
Voilà ce que j'ai tenté pour l'instant (mais qui ne marche pas, vous vous en doutez) :
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <project> <modelVersion>4.0.0</modelVersion> <groupId>romain</groupId> <artifactId>maison</artifactId> <parent> <groupId>romain</groupId> <artifactId>fondations</artifactId> <version>1.0-SNAPSHOT</version> <relativePath>d:/dev/fondations/</relativePath> </parent> <packaging>war</packaging> <version>1.0</version> <name>Projet Maison</name> ... <dependencies> <dependency> <groupId>romain</groupId> <artifactId>fondations</artifactId> <version>1.0</version> <type>pom</type> </dependency> ... </dependencies> ... </project>
Partager