批处理打war包

偶尔善良 提交于 2019-12-04 13:35:09

 

****************************************************************************************************************

@echo off & setlocal ENABLEDELAYEDEXPANSION
net use x: \\19*.1**.**.***\testing 123456 /user:administrator

xcopy x:\*.* D:\123 /e /c /q /h /r /y
net use x: /delete

****************************************************************************************************************

::@echo off表示执行了这条命令后关闭所有命令(包括本身这条命令)的回显。而echo ::off命令则表示关闭其他所有命令(不包括本身这条命令)的回显,@的作用就是关闭紧跟其后的一条命令的回显,
::关于上述例子应该表现的很清楚了,不过还有几点需要解释一下:
::pause也是一条命令,作用就是使程序暂停,也就是输出“请按任意键继续…”的原因。
::@echo off执行以后,后面所有的命令均不显示,包括本条命令。
::echo off执行以后,后面所有的命令均不显示,但本条命令是显示的。

::setlocal enabledelayedexpansion
::设置本地为延迟扩展。其实也就是:延迟变量,全称"延迟环境变量扩展", 
::什么是扩展?
::如果我们要在我们的命令中引用一些变量,那么我们如何让CMD在解释我们的命令时,能识别出这个变量呢?
::这时我们就可以在变量名字两边加一个%号,如%name%.当CMD在对读取我们的整行
::命令进行格式匹配的时候,就会发现name这个字符两边加了%号,就不会把他当作普通字符处理,
::而是会把他当作一个变量处理,变量名叫name!然后CMD就会找到变量名对应的值,用变量名的值替换掉这个变量
::名字(name),(如果变量名不存在 值,就返回空值).再将这个替换好并且匹配的命令执行!这个替换值的过程,
::就叫做变量扩展,说白了就是把变量的名字,用他的值给替换掉后执行!也就是批处 理如何识别一个变量的过程.
::什么是环境变量扩展?
::例如这个一个BAT
::set var=test
::echo %var%
:: CMD在读取到echo %var%这句命令后,就会进行匹配操作,它马上就发现var字符两边有%号,这时他就会
:: 把他当作一个变量处理,查看这个var变量名是不是有值,如果有 就用他的值把变量名var给替换掉,
:: 这里我们的VAR在上一条命令set var=test中,给var赋值为test,所以他会用test把%var%这个变量名
:: 替换掉,替换后的结果就为echo test了.这些步骤都是CMD进行匹配操作的步骤,匹配完后,他再执行
:: echo test这条语句,这时我们的CMD中就会echo出一个test了.
::什么是延迟环境变量扩展?
::https://blog.csdn.net/kolamemo/article/details/18036021

::net use z: \\IP\baby 
::此命令将共享名为baby的共享资源映射到z盘

****************************************************************************************************************

@echo off

title 产品打包[%DATE% %TIME%]
color 02

set "path=D:\work\war\workspace_build\Subversion_bin;D:\work\maven\bin;%path%"

echo 是否更新代码:
echo 1、更新代码再打包
echo 2、不更新代码打包
rem echo 3、发布程序
echo 0、退出
set /p start_service_no=请输入:

if "%start_service_no%" == "1" goto :no1
if "%start_service_no%" == "2" goto :no2
if "%start_service_no%" == "3" goto :no3
if "%start_service_no%" == "0" goto :quit

:no1
echo 开始获取最新代码文件……

D:
cd D:\work\war\workspace_build\build_haha

 

 

 

:no2
REM 全部的Package一次生成:
D:
cd D:\work\war\workspace_build

echo 开始打包……
rem mvn clean package -X -Dmaven.test.skip=true > 123_bench.log
mvn clean install package -Dmaven.test.skip=true > 123_bench.log
echo 结束打包……

:no3
rem c:
rem cd D:\work\war\workspace_build

rem echo 开始发布……
rem mvn tomcat:redeploy -Dmaven.test.skip=true > 123_deploy.log
rem echo 结束发布……

:quit
@pause

****************************************************************************************************************
知识点1:
mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。

   由上面的分析可知主要区别如下,

package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库  
-Dmaven.test.skip=true 跳过单元测试

知识点2:
set /a 执行数学计算
set /p 提示用户输入
@echo off
set /p b=输入一个数字:
echo %b%
set /a a=2*%b%
echo %b%+%b%=%a%
pause>nul

知识点3:
尖括号 > 功能是将其前面的命令输出到标准输出设备的文字追加到该符号后面指定的文本文件结尾

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!