服务器jar包修改class文件,linux服务器解压压缩jar包,实测可用

  1. 前情
    因为公司没有网,使用jar包运行项目,稍微改下java文件就需要传整个包到服务器,jar包较大流量不够用的,就在服务器解压jar包只修改需要修改的文件再压缩回去即可。
  2. 命令
unzip myapp.jar -d myapp
cd myapp
# 这里修改文件,之后在myapp目录下运行命令
jar cvfm0 myapp.jar META-INF/MANIFEST.MF .
#之后把文件传到原来路径下重新启动即可
mv myapp.jar ..
  1. zip命令详解
    (1) zip参数
参数说明
-d从压缩文件内删除指定的文件。
-f此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-j只保存文件名称及其内容,而不存放任何目录名称。
-r递归处理,将指定目录下的所有文件和子目录一并处理。
-u更换较新的文件到压缩文件内。
-v显示指令执行过程或显示版本信息。
-y直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。- <压缩效率> 压缩效率是一个介于1-9的数值。

实例:

zip -r test.zip test/ #打包test目录下的文件
zip -rj test.zip test/ #打包test目录下文件,且压缩包不带test目录

(2) unzip参数

参数说明
-l显示压缩文件内所包含的文件
-j只保存文件名称及其内容,而不存放任何目录名称。
-o以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该
-v显示指令执行过程或显示版本信息。
-d指定解压目录,目录不存在会创建

查看压缩包中的文件信息

unzip -l test.zip #可以看到压缩包中的文件名,日期等信息
unzip -v test.zip #查看更多信息,例如crc校验信息等
解压包中指定的文件

如果不知道需要解压的文件名,可先查看包中的文件,然后使用下面的方法:

unzip -o test.zip "1.log" -d dir #解压包中的1.log文件到dir目录
unzip -o tet.zip "*.log" -d dir  #解压包中所有的log文件

解压时去掉目录结构

压缩包中有多层目录结构,普通解压仍然会保留目录结构,如果只想要压缩包中的文件,可以使用-j参数:

zip -oj test.zip -d ./temp

解压jar包
jar包是java归档包,但同样可用unzip解压查看里面的文件:

unzip -o java.jar -d dir
  1. jar命令
    jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名…

其中{ctxu}这四个选项必须选其一。[v f m e 0 M i ]是可选选项,文件名也是必须的。

参数说明
-c创建一个jar包
-t显示jar中的内容列表
-x解压jar包
-u添加文件到jar包中
-f指定jar包的文件名
-v生成详细的报造,并输出至标准设备
-m指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0产生jar包时不对其中的内容进行压缩处理
-M不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-i为指定的jar文件创建索引文件
-C表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值