如何获取maven命令执行后成功与否的返回值

当在bat 文件中执行maven命令时,有时候需要知道maven命令执行是否成功或者失败,从而可以根据批处理的 if 判断语句决定是否执行以下的 bat 的内容,判断maven命令执行成功与否的参数是:%ERRORLEVEL%,当maven执行成功时,%ERRORLEVEL%返回0,失败则返回1,例如下面的bat文件:(注意if 语句后面的括号要有空格,即:下面的 0 和 ‘(’ 之间要有空格,否则不能执行 if 语句而直接跳出)

cd XXXX(your project road)
call mvn clean install -Ddeploy-db -Dapps=main -e


echo error_claimpl:%ERRORLEVEL%

rem when maven execute sucess return 0
if %ERRORLEVEL%==0 (
    your next operation....
	call mvn clean install XXXX
)

或者下面的可以控制等待一定的时间再往下执行的CHOISE

echo build XXXX...................................
cd  your maven project road(the road that contains pom file)

rem build your project:

call mvn clean install -Ddeploy-db -Dapps=main -e -Dmaven.test.skip=true 

if %ERRORLEVEL%==0 (
	do something.....
)else cmd

if %ERRORLEVEL%==0 (

	echo start tomcat......................................
	
	cd /d  D:\ProgramFiles\apache-tomcat-8.5.40\logs
	rmdir /s/q D:\ProgramFiles\apache-tomcat-8.5.40\logs
	cd /d D:\ProgramFiles\apache-tomcat-8.5.40\bin
	call startup.bat
	
)else cmd

rem wait 600s for tomcat start, then execute next command, notice that CHOISE can not  rem execute in if statement, otherwise error will appear
	if not defined WAITING_TOMCAT_STARTUP_TIME  set WAITING_TOMCAT_STARTUP_TIME=600
	CHOICE /N /T %WAITING_TOMCAT_STARTUP_TIME% /D Y /M "Wait %WAITING_TOMCAT_STARTUP_TIME% seconds for tomcat startup"

	echo deploy products.................................
	

cmd

 


版权声明:本文为Maxiao1204原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。