Supposons que je fasse une compilation complète sur mon grand projet qui a 7 modules et sur le 6ème module, la construction a échoué car un test a échoué. Existe-t-il un moyen de démarrer la construction à partir du point où elle a échoué?
89
subproject/subsubproject
comme paramètremaven -rf <module name> clean install
mvn -rf :moduleName install
. (Je ne sais pas exactement pourquoi le colon est nécessaire, mais il semble que ce soit le cas - du moins pour ma configuration.)install
objectif, car la construction qui reprend peut alors récupérer les artefacts qui ont déjà été construits à partir de votre référentiel Maven local pour résoudre les dépendances sur eux. Je trouve que c'est une mauvaise pratique d'exécuter desinstall
builds car vous finissez par encombrer votre référentiel local avec des instantanés et vous pouvez finir par dépendre d'un instantané plus ancien que ce à quoi vous vous attendez. On dirait que pour les builds où vous ne lepackage
faites et que vous ne le faites pasinstall
, utiliser-rf
n'est pas une option: vous devrez faire toute la construction.Voici l'exemple
mvn clean install -rf :your-module
la source
vous pouvez reprendre la construction à partir de n'importe quel module de votre choix en utilisant la
-rf
commande. Par exemple, si votre build a échoué dans myproject-proxy, vous pouvez utiliser la commande suivante:mvn -rf myproject-proxy clean install
la source
regardez le résumé de maven et vous verrez les modules exécutés et où maven est arrêté. alors essayez ceci:
mvn clean install-Dmaven.test.skip=true -rf :yourModule
la source
Syntaxe: mvn -rf nom de module mavengoal ou mvn --resume-from nom de module mavengoal
Ex: mvn -rf admin-module clean install ou mvn --resume-from admin-module clean install
la source
-rf
n'est pas court pour--remove-from
. C'est l'abréviation de--resume-from
Vous pouvez exécuter la construction du module 6 séparément pour voir si elle échoue toujours, mais j'ai peur que vous ayez besoin de construire tous les modules depuis le début lorsque vous voulez exécuter la «grande» construction.
Edit: Bien sûr, les versions suivantes seront plus rapides car le code des modules 1 à 5 est déjà compilé, sauf si vous exécutez clean dans le cadre de votre construction.
la source