Linux下用jar命令替换war包中的文件【转】

问题背景:在Linux环境上的weblogic发布war包,有时候只是修改了几个文件,也要上传整个war包,这样很费时间,因此整理了一下Linux环境,更新单个文件的方法。


1.如果要替换的文件直接在war包的根目录(一级目录)下,直接使用jar uvf命令替换即可

如:替换a.war中b.xml文件

    jar uvf a.war b.xml

注:b.xml需要和a.war在同一个目录下。


2.如果要替换的文件在war包的二级及以下目录下,则需要以下步骤:

(1)使用jar tvf war名称 | grep 目标文件名 查询出目标文件在war包中的目录

(2)使用jar xvf war名称 目标文件名(copy上面查出的全路径) 将目标文件及所在war包中的目录解压到当前路径

(3)修改目标文件的内容,或者将要新的目标文件替换掉提取出来的目标文件

(4)使用jar uvf war名称 目标文件名(和步骤(2)中的目标文件名相同) 将新目标文件替换到war包中

举例:替换SpringJMS04031240.war包中的ZcjdService.class,ZcjdService$1.class文件

(1)# jar -tvf SpringJMS04031240.war |grepZcjdService


 

(2)# jar -xvf SpringJMS04031240.war WEB-INF/classes/com/inspur/service/ZcjdService.class
 

(3)# cp ZcjdService.class WEB-INF/classes/com/inspur/service/
  cp:是否覆盖"WEB-INF/classes/com/inspur/service/ZcjdService.class"? yes



(4)# jar -uvf SpringJMS04031240.war WEB-INF/classes/com/inspur/service
  正在添加: WEB-INF/classes/com/inspur/service/ZcjdService.class(输入 = 4426) (输出 = 1892)(压缩了 57%)

转自

作者:李晓LOVE向阳
来源:CSDN
原文:https://blog.csdn.net/u013310119/article/details/79850914
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @   paul_hch  阅读(3540)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2018-05-23 linux服务器last查看关机记录
2017-05-23 双机/RAC/Dataguard的区别【转】
2017-05-23 一步一步搭建 oracle 11gR2 rac + dg 之前传 (一)【转】
2017-05-23 一步一步搭建oracle 11gR2 rac+dg之环境准备(二)【转】
2017-05-23 一步一步搭建oracle 11gR2 rac+dg之共享磁盘设置(三)【转】
2017-05-23 一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)【转】
2017-05-23 一步一步搭建oracle 11gR2 rac+dg之database安装(五)【转】
点击右上角即可分享
微信分享提示