-
Génération d'un WAR
Bonjour,
J'ai réussi à générer un WAR de deux façons différentes, je ne comprends pas la subtilité, si quelqu'un peu m'éclairer.
1 - En ajoutant dans le POM
<packaging>war</packaging>
et grâce à la commande
mvn package
2 - En ajoutant dans le POM
<packaging>war</packaging>
et
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0</version>
<configuration>
<webappDirectory>/</webappDirectory>
</configuration>
</plugin>
</plugins>
</build>
Je vais utiliser la seconde, c'est la seul solution que j'ai trouvée car mon arborescence ne respecte pas les préconisations Maven.
J'aimerai comprendre pourquoi il est possible de générer un WAR sans déclarer le plug-in maven-war-plugin dans le POM.
Merci.
Rémy.
-
Bonjour,
Dans le très bon article Introduction à Maven 2, tu pourras voir dans la section 3. Le cycle de vie du projet, qu'il y a un mapping entre les différents phases du cycles de vie et les plugins à utiliser. Ce mapping dépend du type de ton projet. Dans le cas d'un jar, la phase packaging appelle le plugin maven-jar-plugin, dans le cas d'un war c'est le plugin maven-war-plugin...
Avec ta deuxième solution, tu ne fais que configurer le plugin war pour qu'il prenne en compte ton arborescence non standard. Essaye par exemple de mettre un type jar et de laisser ta configuration du plugin war. Tu verras que si tu fais un mvn package, il n'appellera pas le plugin maven-war-plugin.
Rémy
-