J'ai fait un fichier bat comme :
mvn clean;
mvn package;
mais cela ne fonctionne pas, seule la première commande est exécutée.
Quelqu'un peut-il m'aider ?
J'ai fait un fichier bat comme :
mvn clean;
mvn package;
mais cela ne fonctionne pas, seule la première commande est exécutée.
Quelqu'un peut-il m'aider ?
Utilice
call mvn clean
call mvn package
Notez que vous n'avez pas besoin de point-virgule dans les fichiers batch. Et la raison pour laquelle vous devez utiliser call
c'est que mvn
est lui-même un fichier batch et les fichiers batch doivent s'appeler les uns les autres à l'aide de call
sinon le contrôle ne revient pas à l'appelant.
Si vous souhaitez que les commandes suivantes soient répercutées sur la ligne de commande (dans la sortie du traitement par lots), vous devez également effectuer les opérations suivantes echo on
après le call mvn
est effectuée (sur la ligne suivante). Cela est dû au fait que mvn
éteint l'écho et ne le rallume pas.
La réponse de Joey est excellente, mais peut-être qu'un exemple de code plus complet aidera les personnes qui, comme moi, sont en train de résoudre un problème similaire de construction de plusieurs projets maven à partir d'un fichier batch sous Windows :
REM maven itself uses a batch file so each mvn must be preceded by "call"
REM the -f flag specifies where the pom.xml is found for the project
REM mvn install will save the target output to %userprofile%\.m2\repository ...
call mvn install -f c:\Users\John\workspace\PropertiesReader\pom.xml
call mvn install -f c:\Users\John\workspace\PropertiesWriter\pom.xml
Le comportement observé date de l'époque de MS-DOS 1.0 et il est conservé pour des raisons de compatibilité, car les solutions que vous utiliserez sont Windows. llame a de la manière suivante :
call mvn clean
call mvn package
Le "call" exécute un programme batch à partir d'un autre et l'interprète comme un sous-routine.
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.