2018年12月27日

bat 脚本中执行多个 maven 命令

我有段 bat 脚本是这么写的,发现只执行第一行,后面的 maven 命令都执行不到。

mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-chart-9.0.jar -DgroupId=com.fr -DartifactId=fr-chart -Dversion=9.0 -Dpackaging=jar
mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-datasource-9.0.jar -DgroupId=com.fr -DartifactId=fr-datasource -Dversion=9.0 -Dpackaging=jar
mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-third-9.0.jar -DgroupId=com.fr -DartifactId=fr-third -Dversion=9.0 -Dpackaging=jar
mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-platform-9.0.jar -DgroupId=com.fr -DartifactId=fr-platform -Dversion=9.0 -Dpackaging=jar
mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-core-9.0.jar -DgroupId=com.fr -DartifactId=fr-core -Dversion=9.0 -Dpackaging=jar
mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-report-9.0.jar -DgroupId=com.fr -DartifactId=fr-report -Dversion=9.0 -Dpackaging=jar
mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-performance-9.0.jar -DgroupId=com.fr -DartifactId=fr-performance -Dversion=9.0 -Dpackaging=jar

在前面加一个 call,就能正常执行了。

call mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-chart-9.0.jar -DgroupId=com.fr -DartifactId=fr-chart -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-datasource-9.0.jar -DgroupId=com.fr -DartifactId=fr-datasource -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-third-9.0.jar -DgroupId=com.fr -DartifactId=fr-third -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-platform-9.0.jar -DgroupId=com.fr -DartifactId=fr-platform -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-core-9.0.jar -DgroupId=com.fr -DartifactId=fr-core -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-report-9.0.jar -DgroupId=com.fr -DartifactId=fr-report -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=WebReport\WEB-INF\lib\fr-performance-9.0.jar -DgroupId=com.fr -DartifactId=fr-performance -Dversion=9.0 -Dpackaging=jar

为什么呢?因为 mvn 本身是一个 bat 文件(不是普通命令),而 bat 文件相互调用时,需要在前面加 call。
更多:https://stackoverflow.com/questions/6573062/how-to-execute-more-than-one-maven-command-in-bat-file

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*