J'essaie de diviser un projet WAR Maven en deux modules, afin de pouvoir créer un fichier JAR séparé avec des outils de ligne de commande. Le résultat a la structure suivante:Projet Maven multi-module et jetty: run
pom.xml
(pom
emballage, comporte deux modules)project-jar/
pom.xml
(emballagejar
)
project-war/
pom.xml
(emballagewar
, dépendproject-jar
)
Si je lance mvn
commandes de la racine, tout fonctionne bien. Je voudrais continuer à utiliser mvn jetty:run
, mais pour cela, j'ai besoin d'exécuter la commande dans le sous-projet WAR. Si je fais cela, ne trouve pas le sous-projet project-jar
, donc il ne fonctionnera pas. Même mvn jetty:run-war
avec un fichier WAR complètement assemblé dans le répertoire target
échoue, car il essaie d'abord de "construire" le projet. J'ai seulement réussi à le faire fonctionner en installant project-jar
dans le dépôt Maven local, ce qui n'est pas très agréable.
Existe-t-il un moyen d'utiliser le plugin Jetty dans une configuration Maven multi-module?
Hm, cela ne me permet pas en fait, car il échoue avec une erreur BUILD "Impossible de résoudre l'artefact." (le projet JAR frère) avant même que le plugin Jetty ne soit exécuté. Il semble donc que j'ai besoin d'une solution générale pour Maven en premier lieu. :( –
@ Lukáš Maven utilise le référentiel local pour résoudre les dépendances afin qu'elles ** soient ** installées (ie vous devez d'abord 'installer' tous les modules en exécutant une construction de réacteur sur le parent au moins une fois). même si les fichiers JAR installés sont "obsolètes" –
Ah, j'espérais éviter cela: une alternative que j'ai trouvée était de placer le plugin jetty sur le parent et de le diriger vers le bon fichier war (puis d'utiliser jetty: run -war), mais je vais probablement besoin de lancer l'installation quand même pour rendre NetBeans heureux –