如何在bat文件中执行多个maven命令?
我做了一个bat文件,如:
mvn清洁; mvn包;
但它不起作用,只有第一个命令被执行。
有人能帮我吗?
使用
call mvn clean call mvn package
请注意,batch file中不需要分号。 而你需要使用call
的原因是mvn
本身就是一个batch file,batch file需要通过调用相互call
,否则控制不会返回给调用者。
Joey的答案很好,但也许一个更完整的代码示例可以帮助像我这样的其他人从Windows中的batch file中构build出多个Maven项目。
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
当你想要调用父文件中的另一个batch file时使用“call”,这样控件将返回到父batch file,并且将继续执行。
例如调用mvn clean install
观察到的bahaviour来自MS-DOS 1.0的时间,并保持兼容性的原因,作为解决scheme,您将使用Windows 调用函数按以下方式:
call mvn clean call mvn package
“调用”从另一个执行一个批处理程序,并将其解释为子程序。