从MS bat文件执行多个maven项目?

u12*_*123 25 batch-file maven

我需要使用build.bat文件构建3个独立的maven项目(因为tycho聚合不是一个选项 - 请参阅romaintaz回答的评论).我试过(从build文件夹执行 - 见下文):

cd ../projectA
mvn clean install -U
cd ..
cd ../projectB
mvn clean install -U
cd ..
cd ../projectC
mvn clean install -U
Run Code Online (Sandbox Code Playgroud)

项目的文件夹结构是:

build
  |--> build.bat

projectA
  |--> pom.xml

projectB
  |--> pom.xml

projectC
  |--> pom.xml
Run Code Online (Sandbox Code Playgroud)

但只有projectA是构建projectB和projectC被跳过.关于如何修改上面的bat文件的任何想法,以便如果以前的项目成功构建,则构建以下项目?

FrV*_*aBe 48

使用该call命令执行mvn进程,如:

call mvn clean install -U
Run Code Online (Sandbox Code Playgroud)

看到

help call
Run Code Online (Sandbox Code Playgroud)

有关call命令的进一步说明.

要避免使用所有这些cd命令,您还可以使用该-f选项指定pom的路径,例如

call mvn -f <path>/projectA/pom.xml clean install -U
call mvn -f <path>/projectB/pom.xml clean install -U
call mvn -f <path>/projectC/pom.xml clean install -U
Run Code Online (Sandbox Code Playgroud)


Mar*_*rák 7

如上所述,您需要使用"call"来运行mvn脚本,如下所示:

call mvn package
Run Code Online (Sandbox Code Playgroud)

为了捕获错误,您需要使用ERROR_LEVEL变量,如:

call mvn clean
echo Exit Code = %ERRORLEVEL%
if not "%ERRORLEVEL%" == "0" exit /b
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅http://jojovedder.blogspot.com/2009/03/executing-multiple-mvn-commands-from.html.