4 votes

Comment exécuter uniquement le pom.xml parent dans un projet maven multi-modules ?

J'ai un projet maven multi-modules. Au niveau parent, j'ai quelques fichiers java. Et dans le pom.xml parent, à la phase du paquetage, je fais certaines choses.

Habituellement, lorsque je lance mvn package au niveau parent, la phase de package du pom parent est lancée et tous les modules sont également packagés.

Je cherche un moyen qui me permette de faire cela (lorsque je lance le paquet mvn) :

  • me permettre d'exécuter seulement paren pom.xml (le script à la phase de package), pas les modules. C'est la première priorité.
  • me permet d'exécuter paren pom.xml et certains modules particuliers (comme le module 1, le module 2 MAIS pas le module 3 , le module 4).

Puis-je utiliser le profil pour ces questions ?

Gracias.

12voto

Brad Lee Points 116

Bien que je sois d'accord avec le fait que vous n'avez peut-être pas une structure de projet optimale, la réponse est que Maven 2.2.1 a une option "--non-recursive" qui satisfait votre première exigence :

-N,--non-recursive    Do not recurse into sub-projects

Donc quelque chose comme ça :

mvn --non-recursive clean compile

1voto

paweloque Points 4467

Pourquoi voulez-vous avoir du code Java au niveau supérieur ? À mon avis, ce n'est pas une très bonne idée. Placez votre code dans les sous-projets et laissez le projet de premier niveau contenir les informations générales et la configuration de l'ensemble du projet.

Si le code de la bibliothèque de base se trouve actuellement dans le projet de premier niveau, vous pouvez le placer dans un sous-projet et établir des dépendances entre les projets.

0voto

Yuriy Zubarev Points 1888

Jetez un coup d'œil à Pom parent Maven vs pom modules

La nature de votre question indique que la structure de votre projet n'est peut-être pas optimale.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X