前言
开发过程中,项目中总会引入一些第三方依赖包,以便通过直接调用jar包中的方法来完成某些实际业务。但是有时候jar包中封装的方法可能跟我们的实际需求有些出入,需要修改业务逻辑后重新打包才能使用,但是jar包可能不像普通的maven项目那样导入idea等工具修改然后直接利用maven命令来完成,很多时候需要安装一些反编译工具才能打开,且不能在反编译工具中直接修改。本文主要针对jar包中的文件类型,从两种方式实现jar包中文件的替换及生成class字节码文件。
背景
最近业务需要,项目中需要实现文件预览功能,由于使用的是kkFileView第三方jar包,有些业务需要自己调整,然后使用新生成的jar包进行部署。结合自己的实际项目情况,根据jar包要修改的文件类型,本文主要介绍两种文件类型实现方式:一种是替换jar包中的非java类型文件,即不需要生成class字节码的文件,比如ftl后缀的文件,另一种是需要生成class字节码的文件,比如entity、service、controller等类型文件。话不多说,请参考操作流程。
操作流程
1.不需要生成字节码文件的jar包修改方式
如图:第一步:找到要修改的jar包,右键选择打开方式,然后选择反编译插件jd-gui(该应用程序需自己安装),打开后,找到对应的ftl文件,双击打开,然后ctrl+c复制文件中的内容,粘贴到notepad软件中,修改对