替换jar里面的jar下的class文件报错处理

文章描述了在没有源码的情况下,如何修改jar包中的class文件。通过解压jar,替换class,然后在Linux环境下重新打包并替换原jar,解决了启动问题。值得注意的是,此方法在Windows上无法正常工作。

Exception in thread "main" java.lang.reflect.InvocationTargetException

有个项目的jar没有源码,有个工具类需要小小的修改下。替换回去之后怎么都启动不了,记录下我的解决方法。

正常替换之后的报错:

先将jar解压出来,然后找到lib下面的需要修改的jar,也解压出来,再替换需要替换的class。

 unzip data-govern-0.0.1-SNAPSHOT.jar -d ./tmp

unzip govern-common-dboper-1.0.0.jar -d ./tmps

替换class文件
cd ./tmps

jar -cfM0 govern-common-1.0.0.jar ./

将打包好的 govern-common-1.0.0.jar 移动到  /tmp/BOOT-INF/lib/  目录下面替换原来的jar

cd ./tmp

jar -cfM0 data-govern-0.0.1.jar ./
然后再运行就可以了,重点是在window上不行,linux上可以 。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值