jar包中替换指定的class文件方法详解

 更新时间:2023年11月03日 09:26:47   作者:丰木  
这篇文章主要为大家介绍了jar包中替换指定的class文件方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

线上, 替换jar包中的一个class文件

cento7当前目录下:

-rw------- 1 root root 6827 Oct 16 15:00 InvoiceApplyService.class
-rw-r--r-- 1 root root 46470349 Oct 16 14:59 ntocc-plat-api.jar

ntocc-plat-api.jar 目标jar包

InvoiceApplyService.class: mkdir -p ./com/xxx/ntocc/plat/api/service/order/

是要更新进去的文件(刚编译完传上来的)

要更新进去, 首先要目录和jar包中目录一样, 所以要创建文件夹目录,创建完后将class文件挪进去;

创建类目录挪进去class: mv InvoiceApplyService.class com/xxx/ntocc/plat/api/service/order/

jar uvf ntocc-plat-api.jar com/xxx/ntocc/plat/api/service/order/InvoiceApplyService.class`
adding: com/arpa/ntocc/plat/api/service/order/InvoiceApplyService.class(in = 6827) (out= 2996)(deflated 56%)

以下是其他基础jar命令

jar用法:创建、更新、解压、查阅

两个源码文件

TestJar.java

public class TestJar {
  public static void main(String[] args){
      System.out.println("==============NEW INSERT================");
      System.out.println("========niewj Main Test ===========");
      System.out.println(MyUtil.call("hello"));
      System.out.println("========niewj Main Test ===========");
  }
}

MyUtil.java

public class MyUtil {
  public static String call(String param){
      return "param=" + param;
  }
}

创建c (create)

cfe

格式: jar cfe jar文件名 Main方法类名 文件列表

生成jar: jar cfe Test.jar TestJar *

jar cfe Test.jar TestJar *

更新u (update)

jar包中java文件改动替换

改动后编译, 而后执行命令替换更新

jar uvf Test.jar TestJar.class

class文件替换多个

jar uvf Test.jar TestJar.class MyUtil.class

解压x (extract)

解压到当前: jar -xvf Test.jar

jar xvf .\Test.jar
  已创建: META-INF/
  已解压: META-INF/MANIFEST.MF
  已解压: MyUtil.class
  已解压: MyUtil.java
  已解压: TestJar.class
  已解压: TestJar.java

列表t (view)

只看不动: jar tvf Test.jar

jar tvf .\Test.jar
     0 Mon Oct 16 14:17:26 CST 2023 META-INF/
    90 Mon Oct 16 14:17:26 CST 2023 META-INF/MANIFEST.MF
   714 Mon Oct 16 14:03:36 CST 2023 MyUtil.class
   120 Mon Oct 16 14:03:28 CST 2023 MyUtil.java
   597 Mon Oct 16 14:03:50 CST 2023 TestJar.class
   247 Mon Oct 16 14:11:40 CST 2023 TestJar.java

以上就是jar包中替换指定的class文件方法详解的详细内容,更多关于jar包替换指定class文件的资料请关注脚本之家其它相关文章!

相关文章

  • Java springboot Mongodb增删改查代码实例

    Java springboot Mongodb增删改查代码实例

    这篇文章主要介绍了Java springboot Mongodb增删改查代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java中的Callable实现多线程详解

    Java中的Callable实现多线程详解

    这篇文章主要介绍了Java中的Callable实现多线程详解,接口Callable中有一个call方法,其返回值类型为V,这是一个泛型,值得关注的是这个call方法有返回值,这意味着线程执行完毕后可以将处理结果返回,需要的朋友可以参考下
    2023-08-08
  • JAVA递归与非递归实现斐波那契数列

    JAVA递归与非递归实现斐波那契数列

    这篇文章主要为大家详细介绍了JAVA递归与非递归实现斐波那契数列,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • SpringBoot开发案例之打造私有云网盘的实现

    SpringBoot开发案例之打造私有云网盘的实现

    这篇文章主要介绍了SpringBoot开发案例之打造私有云网盘的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • SpringCloud配置动态更新原理解析

    SpringCloud配置动态更新原理解析

    在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,Spring Cloud作为微服务架构中的佼佼者,其动态配置更新的能力尤为引人注目,本文给大家介绍了SpringCloud配置动态更新原理,需要的朋友可以参考下
    2025-01-01
  • 详解基于MybatisPlus两步实现多租户方案

    详解基于MybatisPlus两步实现多租户方案

    这篇文章主要介绍了详解基于MybatisPlus两步实现多租户方案,本文分两步,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • java线程的中断和同步问题的实现

    java线程的中断和同步问题的实现

    本文主要介绍了java线程的中断和同步问题的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • spring boot的健康检查HealthIndicators实战

    spring boot的健康检查HealthIndicators实战

    这篇文章主要介绍了spring boot的健康检查HealthIndicators实战,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 详解openfeign集成spring cloud loadbalancer实现负载均衡流程

    详解openfeign集成spring cloud loadbalancer实现负载均衡流程

    这篇文章主要介绍了openfeign集成spring cloud loadbalancer实现负载均衡流程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Core Java 简单谈谈HashSet(推荐)

    Core Java 简单谈谈HashSet(推荐)

    下面小编就为大家带来一篇Core Java 简单谈谈HashSet(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论