Linux中如何修改jar包里的文件类及配置等内容详解

 更新时间:2025年12月05日 08:20:55   作者:A-刘晨阳  
在项目测试或者部署后,经常会遇到需要更改一些配置文件或者java类,这篇文章主要介绍了Linux中如何修改jar包里的文件类及配置等内容的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、前言

在工作中,我们有时候使用的是外网或者是云服务器又或者是vpn之类的,传输文件很慢,就比如一个jar包有300M,上传速度还有限制就很慢;但是修改的内容呢可能只是jar包里的一个class类文件或者是一个配置文件,这种小修改;开发呢修改完之后还要打jar包,打包好之后还要传输上去,如果有网络限制,特别是使用vpn的时候上传速度就会很慢,所以本次教大家如何在Linux中修改jar包的class类文件或配置文件。

二、常用命令解析:

使用jar命令来实现jar包或war包的替换文件;

参数解析常用参数组合
-f指定档案文件名-tvf / -xvf / -uvf
-v输出详细信息-tvf / -xvf / -uvf
-c创建新档案-cf / -cvf
-t列出jar包或档案的目录-tf / -tvf
-x从ar包或档案中解压提取指定文件-xf / -xvf
-u更新现有的jar包或档案-uf / -uvf

示例:

# 1、列出JAR文件中的所有文件和目录:
jar tvf test.jar
# 这会显示test.jar文件中包含的所有文件和目录。

# 2、解压JAR文件到当前目录下:
jar xvf test.jar
# 执行此命令后,test.jar文件中的内容将被解压到当前目录中,并按照原始的目录结构进行存储。

# 3、创建一个新的JAR文件,并将指定文件添加到其中:
jar cvf test.jar file1 file2
# 以上命令将创建一个名为test.jar的JAR文件,并将文件file1和file2添加到其中。

# 4、向已存在的JAR文件中添加文件:
jar uf test.jar file1
# 该命令向test.jar文件中添加file1文件。

三、jar包更新步骤详细解析(4步)

3.1 查询class类所在jar包的位置

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

比如:我们查找test.jar中的Main.class类

jar tvf test.jar | grep Main.class

3.2 解压jar包提取class类

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

注意: 解压的时候可以单独创建一个目录,然后把jar包放到新创建的空目录里进行解压,避免和其他文件混乱。

比如:我们将刚刚查到的Main.class类解压下来

jar xvf test.jar Main.class

解压完就可以看到想要替换的类被单独拉出来了,如果是多层目录的话就会出现在多层目录里,然后需要进入更深层去替换一下;

3.3 替换要更新的class类

①、上传要替换的class类到linux上
②、替换解压下来的class类

3.4 将替换的class类更新到jar包中

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

jar uvf test.jar Main.class

这样就可以替换成功了,替换成功之后再次运行jar包验证是否成功;

我这里已经可以看到运行成功了,也就证明替换成功了;

四、更新jar包文件 - 总结

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

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

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

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

更换文件不一定是class类才可以,也可以是配置文件或者是其他文件都可以;

到此这篇关于Linux中如何修改jar包里的文件类及配置等内容的文章就介绍到这了,更多相关Linux修改jar包文件类及配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • spring集成okhttp3的步骤详解

    spring集成okhttp3的步骤详解

    okhttp是一个封装URL,比HttpClient更友好易用的工具,下面这篇文章主要给大家介绍了关于spring集成okhttp3的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2018-04-04
  • Java设计模式之接口隔离原则精解

    Java设计模式之接口隔离原则精解

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。本篇介绍设计模式七大原则之一的接口隔离原则
    2022-02-02
  • 详解Springboot整合Dubbo之代码集成和发布

    详解Springboot整合Dubbo之代码集成和发布

    本篇文章主要介绍了Springboot整合Dubbo之代码集成和发布,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • JAVA 对象创建与对象克隆

    JAVA 对象创建与对象克隆

    这篇文章主要介绍了JAVA 对象创建与对象克隆,new 创建、反射、克隆、反序列化,克隆它分为深拷贝和浅拷贝,通过调用对象的 clone方法,进行对象的克隆,下面来看看文章的详细内容吧
    2022-02-02
  • spring-boot @Component和@Bean的区别详解

    spring-boot @Component和@Bean的区别详解

    这篇文章主要介绍了spring-boot @Component和@Bean的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • JDK集合源码之解析TreeMap(一)

    JDK集合源码之解析TreeMap(一)

    下面小编就为大家带来一篇浅谈java中的TreeMap 排序与TreeSet 排序。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-07-07
  • Java实现的简单网页截屏功能示例

    Java实现的简单网页截屏功能示例

    这篇文章主要介绍了Java实现的简单网页截屏功能,涉及java网页打开及屏幕截图功能相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • SpringBoot集成E-mail发送各种类型邮件

    SpringBoot集成E-mail发送各种类型邮件

    这篇文章主要为大家详细介绍了SpringBoot集成E-mail发送各种类型邮件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • 浅谈java多线程wait,notify

    浅谈java多线程wait,notify

    这篇文章主要介绍了java多线程wait,notify,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面小编和大家一起来学习一下吧
    2019-05-05
  • centos7安装java的多种方式总结

    centos7安装java的多种方式总结

    这篇文章主要给大家介绍了关于centos7安装java的多种方式,文中通过实例代码以及图文介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友可以参考下
    2023-01-01

最新评论