zoukankan      html  css  js  c++  java
  • 自动增量更新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

  • 相关阅读:
    微服务实战(三):深入微服务架构的进程间通信
    微服务实战(二):使用API Gateway
    微服务实战(一):微服务架构的优势与不足
    函数声明与函数表达式
    CSS样式优先级
    iframe框架及优缺点
    JS事件流模型
    JS事件冒泡及阻止
    浏览器重绘与回流
    浏览器渲染与内核
  • 原文地址:https://www.cnblogs.com/surprizeFuture/p/5257011.html
Copyright © 2011-2022 走看看