• 自动增量更新war包的shell脚本


    我们项目是打包成war部署在jboss中的,但在上线或者运行时,经常要修改某些类然后再增量更新到war(因为生产环境只有发布的同时有,不能每个人都打包),所以都是手动做的,耗时耗力。

    我花了点时间写了一个可以增量更新war包的类的shell 脚本,重点如下,脚本在附件,欢迎指正

    1. war以及war/WEB-INF/lib中相关jar的解压。

    先unzip war包,然后在使用find命令在war包下找到指定的相关jar包,也是使用unzip解压。

    2. 增量的文件(class)的路径计算。

    使用 javap命令进行反编译,在截取其中的包信息,比如计算Test.class的全限定路径,命令如下:

    ${JAVA_HOME}/bin/javap Test | grep ' class ' |awk -F ' ' '{if($3=="class"){print $4}else{print $3}}'
    3. 匹配及更新

    就是用第2步计算的信息使用find在第1步解压的文件夹下查找以及匹配,成功后则覆盖。

    4.重新打包。先重新打包jar, 更新war/lib下相应的jar后,在打包war

    $JAVA_HOME/bin/jar cf ${jarfolder}.jar -C $jarfolder/ .
    $JAVA_HOME/bin/jar cf ${WAR_NAME}.war -C ${WAR_NAME}/ .


    完整的脚本见附件,稍微修改一下对WEB-INF/lib/*.jar下的查找策略(JAR_SCOPE变量)就能运行~

    http://files.cnblogs.com/files/surprizeFuture/autoUpdataWar.sh

  • 相关阅读:
    Timer类的常见使用方法
    转:HTTP协议简介
    DS-5新加交叉编译工具
    C++的引用
    C++构造函数的几种使用方法
    Eclipse 快捷键
    eclipse Outline里图标的含义
    Linux 内存映射函数 mmap()函数详解
    Sockit 硬件接口编程——点亮一个LED
    更新Preloader与uboot
  • 原文地址:https://www.cnblogs.com/surprizeFuture/p/5257011.html
Copyright © 2020-2023  润新知