龙空技术网

优雅的替换第三方jar包中的类!#编程

Java不良人 1067

前言:

此刻大家对“java 执行jar包中的类”都比较注意,各位老铁们都想要知道一些“java 执行jar包中的类”的相关资讯。那么小编在网络上网罗了一些有关“java 执行jar包中的类””的相关资讯,希望朋友们能喜欢,小伙伴们一起来了解一下吧!

优雅的替换第三方jar包中的类。

优雅的替换掉第三方jar包中的类,需求背景是:项目中依赖第三方jar包需要对其进行扩展或修复未知的bug,但是第三方类库中没有提供扩展点,无法使用继承对其改造。通常做法第一种是将jar包下载下来重新修改然后发布在私有仓库中。第二种做法是直接将需要的代码全部复制到当前项目中进行修改。

当然还有种更优雅的实现!我们只需要在pom中引入这个插件就可以实现!这个插件是maven-心绞痛-plugin插件,想对hutool这个jar包中的某个类进行改造,这个插件的原理是将这个jar包进行解压,只需要在当前项目中有同包同类的文件,在解压的时候它就可以做到不进行覆盖,这样就达到了本地文件替换原jar包中的class文件的目的!

在这里我们要使用hutool进行输出json,要在输出之前打印3行代码。这里新建一个同包同类的文件,包也是cn.hutool.json,类名也一样。把源码拷贝进来,在这里进行打印三行代码,我们来验证一下。接下来启动一下项目,项目启动成功。然后我们可以发现在进行输出json的时候进行了三段打印,这样就实现了本地文件替换jar包中的文件达到了我们想要的目的!

今天就讲到这,谢谢大家!

标签: #java 执行jar包中的类