How to execute more than one maven command in bat file?
Joey's answer is great, but maybe a more complete code example will help anyone else like me who's also figuring out a similar problem of building multiple maven projects from a batch file in 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
Use
call mvn clean
call mvn package
Note that you don't need semicolons in batch files. And the reason why you need to use call
is that mvn
itself is a batch file and batch files need to call each other with call
, otherwise control does not return to the caller.
If you want subsequent commands to echo to the command line (show in batch output), you must also do echo on
after the call mvn
is done (on the next line). This is because mvn
turns echo off and doesn't turn it back on.