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包文件类及配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 探讨Java验证码制作(上篇)

    探讨Java验证码制作(上篇)

    很多朋友对验证码并不陌生,无论是申请账号还是某些情况下登录时都会要求输入验证码。接下来通过本文给大家介绍java验证码制作的方法,感兴趣的朋友一起学习吧
    2016-05-05
  • java dom4j解析xml用到的几个方法

    java dom4j解析xml用到的几个方法

    这篇文章主要介绍了java dom4j解析xml用到的几个方法,有需要的朋友可以参考一下
    2013-12-12
  • java jni调用c函数实例分享(java调用c函数)

    java jni调用c函数实例分享(java调用c函数)

    Java代码中调用C/C++代码,当然是使用JNI,JNI是Java native interface的简写,可以译作Java原生接口,下面看实例吧
    2013-12-12
  • 基于maven install 没反应的解决方法

    基于maven install 没反应的解决方法

    下面小编就为大家带来一篇基于maven install 没反应的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • RocketMQMessageListener注解对rocketmq消息的消费实现机制

    RocketMQMessageListener注解对rocketmq消息的消费实现机制

    这篇文章主要为大家介绍了RocketMQMessageListener注解对rocketmq消息的消费实现机制源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Java实现RedisUtils操作五大集合(增删改查)

    Java实现RedisUtils操作五大集合(增删改查)

    本文主要介绍了Java实现RedisUtils操作五大集合,文中通过示例代码介绍的非常详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • Java中使用异或语句实现两个变量的互换

    Java中使用异或语句实现两个变量的互换

    这篇文章主要介绍了Java中使用异或语句实现两个变量的互换,本文直接给出代码实例以及运行结果,需要的朋友可以参考下
    2015-06-06
  • 详解前后端分离之Java后端

    详解前后端分离之Java后端

    这篇文章主要介绍了详解前后端分离之Java后端,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Spring Boot配置application.yml及根据application.yml选择启动配置的操作方法

    Spring Boot配置application.yml及根据application.yml选择启动配置的操作

    Spring Boot中可以选择applicant.properties 作为配置文件,也可以通过在application.yml中进行配置,让Spring Boot根据你的选择进行加载启动配置文件,本文给大家介绍Spring Boot配置application.yml及根据application.yml选择启动配置的操作方法,感兴趣的朋友一起看看吧
    2023-10-10
  • Java Base64算法实际应用之邮件发送实例分析

    Java Base64算法实际应用之邮件发送实例分析

    这篇文章主要介绍了Java Base64算法实际应用之邮件发送,结合实例形式分析了java字符编码与邮件发送相关操作技巧,需要的朋友可以参考下
    2019-09-09

最新评论