在 bat 中运行 mvn 命令会出现这种情况,构建命令执行完成后会停留在的 mvn.bat 中,必需手工输入 exit 后,才会回到原来的脚本中继续运行。这是怎么回事?
到 maven 的安装目录下打开 mvn.bat 文件,拉到最后,可以看到如下命令:
cmd /C exit /B %ERROR_CODE%
首先,windows 下的 mvn 命令实际上是 mvn.bat, 也是一个批处理;其次,可以查看 exit 命令的帮助,其中 /B 参数导致不会退出 mvn.bat 当前批处理,由于它的存在,导致了 mvn 命令不会自动退出。
怎么解决?
使用 call 运行 mvn 命令即可。
call mvn clean package