背景:在利用maven开发项目时,会编译使用mvn clean install进行项目的编译构建,虽然说IDE提供了terminal可以进行操作,但每次执行敲那么多且相同命令,肯定不是程序干的事。所以简单的利用bat来自动化这个过程,高手绕行。
一:
@echo off
echo 正在E:\.m2\repository\org\opendaylight\l2switch,请稍等......
rd /s /q E:\.m2\repository\org\opendaylight\l2switch
echo 清除完成!
cd /d E:\gitlab.zte.com\l2switch
mvn -DskipTests -Dcheckstyle.skip=true -Dmaven.test.skip=true clean install
echo. & pause
pause
@echo off 命令回显关闭
rd 删除目录
@call mvn-install-oscp.bat
echo 启动karaf....
rem cd /d E:\bundle-oscp\os\karaf\oscp-karaf\target\assembly\bin
cd /d E:\bundle-oscp\oscp-core\karaf\oscp-karaf\target\assembly\bin
call karaf.bat
pause
@call调用其它bat文件
@echo off
echo 正在删除OSCP MAVEN库(E:\.m2\repository\com\zte\sdn\oscp)请稍等......
rd /s /q E:\.m2\repository\com\zte\sdn\oscp
echo 清除完成!
echo 编译......
echo 编译......
cd /d E:\bundle-oscp\oscp-core
mvn -DskipTests -Dcheckstyle.skip=true -Dmaven.test.skip=true -D maven.javadoc.skip=true clean install -T 1C -Dmaven.compile.fork=true
rem mvn -DskipTests -Dcheckstyle.skip=true -Dmaven.test.skip=true -D maven.javadoc.skip=true clean install
echo 编译完成
echo 编译完成
通过上述的批处理程序,可以完成程序从编译、构建到应用启动流程。
二:虽然上面bat文件使用了pause使用cmd窗口不自动关闭。但实际上此时的cmd容器,是不能再进行操作的。如图:
任意键后,则会退出窗口,如何使cmd窗口能够持续接口后序手工命令呢?
1.在批处理中加入加上 cmd /k,但这个做法你会在进程管理器里面发现两个cmd.exe 进程
2.优雅的做法是,修改注册表
HKEY_CLASSES_ROOT/batfile/shell/open/command 里面把默认项的值改成cmd /E:ON /V:ON /F:ON /k "%1" %*