zoukankan      html  css  js  c++  java
  • 批处理打war包

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

    @echo off & setlocal ENABLEDELAYEDEXPANSION
    net use x: \19*.1**.**.*** esting 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: \IPaby 
    ::此命令将共享名为baby的共享资源映射到z盘

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

    @echo off

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

    set "path=D:workwarworkspace_buildSubversion_bin;D:workmavenin;%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:workwarworkspace_builduild_haha

    :no2
    REM 全部的Package一次生成:
    D:
    cd D:workwarworkspace_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:workwarworkspace_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:
    尖括号 > 功能是将其前面的命令输出到标准输出设备的文字追加到该符号后面指定的文本文件结尾

  • 相关阅读:
    jquery 序列化form表单
    nginx for windows 安装
    nodejs idea 创建项目 (一)
    spring 配置 shiro rememberMe
    idea 2018 解决 双击shift 弹出 search everywhere 搜索框的方法
    redis 在windows 集群
    spring IOC控制反转和DI依赖注入
    redis 的安装
    shiro 通过jdbc连接数据库
    handlebars的用法
  • 原文地址:https://www.cnblogs.com/Nicloe2333/p/11868094.html
Copyright © 2011-2022 走看看