Comment compiler un seul module dans le scénario suivant de deux projets Maven multi-modules A et B.Comment compiler un seul module dans un scénario de deux projets Maven multi-modules
Les deux projets sont situés dans le même répertoire de sorte que la structure du répertoire ressemble à ceci:
root
|-- A
| |-- A1
| |-- A2
| `-- A3
`-- B
|-- B1
`-- B2
Tous les répertoires à l'exception racine ont leurs propres fichiers pom.xml et chaque sous-module fait référence à son module parent (A1 a parent A, etc.) et la parent fait référence à ses sous-modules (A a les modules A1-A3). Le problème que j'ai est que A1 dépend également de B1, puisque le projet B est une collection d'utilitaires que je veux utiliser dans d'autres projets.
Ma question est comment je fais référence B1 correctement pour que je puisse construire A1 sans avoir à installer B1 premier. Je veux dire que je veux construire A1 avec toutes ses dépendances en utilisant une commande maven.
Ma solution actuelle est de faire de B1 un module de A (via la référence de module ../B/B1
). Ensuite, je peux appeler mvn package
à partir du répertoire A et cela fonctionne très bien. Mais la construction de l'ensemble du projet A prend parfois beaucoup de temps. Par conséquent je voudrais construire seulement des avers A1 +. Comment puis je faire ça? Quand j'appelle mvn reactor:make -Dmake.folders=A1
du répertoire A Je reçois l'erreur de compilation suivante:
Reason: Cannot find parent: B:B for project: B:B1:jar:1.0-SNAPSHOT for project B:B1:jar:1.0-SNAPSHOT
Il semble donc que maven coup ne peut pas trouver le module parent B1 plus lors de l'utilisation du plug-in du réacteur. Quelqu'un connaît-il une solution pour cela ou une approche alternative pour référencer un sous-module d'un autre projet qui permet de construire le bâtiment A1 de la manière décrite ci-dessus? Notez, je ne veux pas mettre en place un super module en racine qui inclut les modules A et B, parce que ce fichier pom, parce que chaque utilisateur qui vérifie A et B pourrait avoir aussi d'autres projets dans son répertoire racine et donc devrait écrire son propre fichier pom pour root.
Peut-être que cette [question] (http://stackoverflow.com/questions/1114026/maven-modules-building-a-single-specific-module) est utile. – Jan