Bonjour, je cherche a ne pas générer le site d'un module dans une commande maven.
Plus précisément, le module correspond à la partie "parent" du projet.
Est-ce possible ? si oui, comment ?
Merci d'avance
Version imprimable
Bonjour, je cherche a ne pas générer le site d'un module dans une commande maven.
Plus précisément, le module correspond à la partie "parent" du projet.
Est-ce possible ? si oui, comment ?
Merci d'avance
Bonjour
Ma structure de fichier est standard,j'ai un dossier parent contenant le pom parent et le dossiers des modules. Ce qui donne :
parent
|--> pom.xmp
|--> moduleA --> pom.xml
|--> moduleB --> pom.xml
Je décris dans mon pom parent ce que je veux comme execution globale.
Apres j'ai certain plugin décris dans le pom parent que je voudrais ne pas executer dans le projet parent, donc uniquement dans les modules.
Est ce que c'est plus claire, et est ce que c'est possible ?
Merci d'avance
Bonjour,
Ceci est effectivement plus claire et c'est ce que je pensais (pour information, il n'existe pas de notion module parent).
En fait ce que tu souhaites faire, c'est mutualiser la configuration de certains plugins pour l'ensemble ou une partie de tes modules. Le mieux pour cela est d'utiliser la section pluginManagement dans ton pom parent et ne mettre que la référence de ton plugin (groupId-artifactId) dans tes modules.
Si tu mets directement le plugin dans la section build de ton pom parent (sans passer par la section pluginManagement) alors maven exécutera ton plugin d'abord sur ton projet parent et ensuite sur tes modules. Dans ce cas, il ne me semble pas que ce soit possible d'indiquer à maven de ne pas le faire sur le projet parent.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <project> [...] <build> <pluginManagement> <plugins> <plugin> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <configuration> [...] </configuration> </plugin> </plugins> </pluginManagement> </build> </project>
Rémy
Merci pour ton aide rémi !
Alors j'ai essayé d'intégré ta méthode mais j'ai qq petits soucis de compréhension.
En fait je ne comprend bien, je déplace mon actuel plugin de
<build>
<plugins>
...
dans
<build>
<pluginmanagmenent>
<plugins>
....
Seulement apres je suis bloqué sur la facon de procéder pour exclure mon projet parent de cette compilation. Sur le site de maven, j'ai trouver les explications de cette partie, j'y ai mis l'artifactIId et le GroupId de mon pom parent.
A la compilation, mon plugin management a été hérité aux modules, et donc les modules ont été aussi exclus.
Je sais pas si j'ai été très clair, enfin en gros je suis encore bloqué !
Oui (pluginManagement)
Ce n'est pas très claire effectivement. Mais je pense que ce que tu as oublié de faire c'est de rajouter l'ajout des plugins dans les poms de tes modules.
Le pluginManagement fonctionne comme le dependencyManagement (si tu connais). C'est-à-dire qu'il permet de définir des configurations par défaut mais ne déclare pas le fait d'utiliser les plugins. Pour cela, il faut effectivement, les déclarer dans la section build->plugins. A ce moment maven va voir que tu souhaites utiliser ces plugins et va regarder si tu n'as pas défini une configuration pour ces plugins dans la section pluginManagement. Est-ce plus claire ?
Si ca ne marche toujours pas le mieux est sans doute de passer en pièce jointe ton projet (n'oublies pas de faire un mvn clean avant pour limiter la taille) pour comprendre ce qui va et ne va pas.
Rémy
Ah effectivement ca fonctionne en rajoutant le plugin dans les modules !
C'est pas vraiment ce qui a de plus simple a mettre en oeuvre mais tant pis je vais devoir faire du copier coller !
Merci beaucoup pour le coup de main !