使用jar命令删除.jar文件中的重复的类和目录并重新打包

引言:

android项目,引入的 .jar包 和 .aar中 有相同的类,导致编译冲突,由于这些依赖项没有上传到Maven仓库,无法使用 exclude 排除,只能尝试修改jar文件,删除重复的代码,再重新打包。

效果:

修改前的 test.jar(770k) :

删除了 com.zego目录,重新打包后的 test.jar (233k):

步骤:

下面记录一下修改jar文件的步骤:

技巧:先新建个文件夹,方便把 jar 的内容都集中在一起。

1、使用 jar命令 解压 test.jar文件:

dart 复制代码
jar -xvf test.jar

解压后的目录:

2、删除指定的文件或目录:

dart 复制代码
// rd adc.class// 删除某个文件
rmdir /s /q im // 删除im目录

修改后的目录:

3、重新打包jar文件:

dart 复制代码
jar cvf test.jar . //打包当前目录下所有的文件

新打包的jar文件:

相关推荐
爱码驱动3 分钟前
文件操作和IO
java·开发语言·io·文件操作
坊钰5 分钟前
Java 反射机制
java·开发语言
明灯伴古佛6 分钟前
面试:为什么synchronized是一个悲观锁
java·面试·职场和发展
小旭952716 分钟前
Spring Data Redis 从入门到实战:简化 Redis 操作全解析
java·开发语言·spring boot·redis·spring
希望永不加班18 分钟前
SpringBoot 多数据源配置(读写分离基础)
java·spring boot·后端·spring
派大星酷26 分钟前
线程池-----Executors
java·开发语言
小碗羊肉36 分钟前
【从零开始学Java | 第二十八篇】可变参数
java·开发语言
Java成神之路-36 分钟前
Spring AOP 核心进阶:切入点表达式 + 通知类型 + 环绕通知避坑指南(Spring系列8)
java·后端·spring
weitingfu1 小时前
Excel VBA 入门到精通(二):变量、数据类型与运算符
java·大数据·开发语言·学习·microsoft·excel·vba
某人辛木1 小时前
Maven一步到位
java·maven