疑难杂症——反编译jar包,修改后重新打包部署

疑难杂症 专栏收录该内容
5 篇文章 0 订阅

如何反编译jar或者war包,修改后重新打包部署

踩坑之旅

前言

啦啦啦,我是踩坑的小行家。又开始新一轮的踩坑之旅,领导叫我修改一个前同事的程序,重新开启被关闭的短信功能。修改完,测试通过后,就是部署。我心里还暗自窃喜了几分,终于完成了啊,压根儿没把部署放在眼里,不就几分钟的事儿吗?然而,你们知道的,踩坑之旅正式开始。话不多说,开始进入正题吧。

如何反编译jar吧和war包

其实如果想要查看一个jar包或者war包里面有些什么文件,那是非常好办的,jar包和war包听起来高大上,其实就是一个压缩包而已,我们只需要右键,解压到目录就可以了。
在这里插入图片描述
一个jar包解压出来,大概有以下几种文件:
在这里插入图片描述
META-INF文件夹相当于一个信息包,目录中的文件和目录获得Java 2平台的认可与解释,用来配置应用程序、扩展程序、类加载器和服务。这个文件夹和其中的 MANIFEST.MF文件,在用jar打包时自动生成。执行jar文件的时候,这个jar里是需要具备 META-INF/MANIFEST.MF的,否则java -jar就找不到main class。
BOOT-INF里面主要就是经过编译后的class文件和需要的jar依赖包以及配置文件,至于org文件用来干嘛,暂时不知道,哈哈,想了解的小伙伴可以自己查查。
war包里面的解压出来的文件也是大同小异,WEB-INF里面放的是class文件,依赖文件和配置文件,webB里面放的是一些jsp文件,resource文件里放的是一些css,js文件。
在这里插入图片描述

如何查看修改jar包源码

查看jar包源码可以用jd-gui
使用方法:进入解压后的jar包或者war包目录,随便找一个.class文件打开,然后jd-gui就会打开改目录下的所有.class文件。如果手里面有java源码,那么修改测试成功后,直接编译字节码文件。接下来选择你要修改的jar,直接用压缩软件打开,将自己修改编译好的class文件放到对应压缩jar包或者war包的文件目录下,替换即可。
有的小伙伴可能会说,既然我手里有源码,我为不直接修改打包部署呢?当然如果这是你自己写的代码,那完全没问题,但是如果是别人写的代码,你直接去打包他的源码,然后部署,那可能会出大问题,因为你永远不知道他部署的时候修改了哪些配置,然后就报一堆错,特别是对于像我这样的小白来说,更是头大。

结语

没写些什么东西,哎,改别人的代码真痛苦,希望留点东西,自己以后遇到相同的问题时,可以来看看,希望对大家也有所帮助。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

一剑浪天涯

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值