如何在bat文件中执行多个maven命令?

我做了一个bat文件,如:

  mvn清洁;
 mvn包; 

但它不起作用,只有第一个命令被执行。

有人能帮我吗?

Solutions Collecting From Web of "如何在bat文件中执行多个maven命令?"

使用

call mvn clean call mvn package 

请注意,批处理文件中不需要分号。 而你需要使用call的原因是mvn本身就是一个批处理文件,批处理文件需要通过调用相互call ,否则控制不会返回给调用者。

如果您希望后续命令回显到命令行(以批输出方式显示),则必须echo on完成call mvn (下一行)后执行echo on 。 这是因为mvn会关闭回声,而不会重新打开。

Joey的答案很好,但也许一个更完整的代码示例可以帮助像我这样的其他人从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 -fc:\Users\John\workspace\PropertiesReader\pom.xml call mvn install -fc:\Users\John\workspace\PropertiesWriter\pom.xml 

你也可以有以下一行:

 call mvn clean package 

我有更多的项目运行,我创造了这样的蝙蝠:

 @echo off SET DEVELOPMENT_HOME=C:\Projects cd %DEVELOPMENT_HOME%\Project1\ call mvn clean install cd %DEVELOPMENT_HOME%\Project2\ call mvn clean install 

当你想要调用父文件中的另一个批处理文件时使用“call”,这样控件将返回到父批处理文件,并且将继续执行。

例如调用mvn clean install

观察到的bahaviour来自MS-DOS 1.0的时间,并保持兼容性的原因,作为解决方案,您将使用Windows 调用函数按以下方式:

 call mvn clean call mvn package 

“调用”从另一个执行一个批处理程序,并将其解释为子程序。