使用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文件:

相关推荐
资生算法程序员_畅想家_剑魔42 分钟前
Java常见技术分享-13-多线程安全-锁机制-底层核心实现机制
java·开发语言
萤丰信息1 小时前
数智重构生态:智慧园区引领城市高质量发展新范式
java·大数据·人工智能·安全·智慧城市
悟空码字1 小时前
MySQL分库分表,从“一室一厅”到“豪华别墅区”的数据库升级之旅
java·后端·mysql
Lisonseekpan1 小时前
RBAC 基于角色的访问控制模型详解与实践指南
java·服务器·网络·后端·spring·log4j
奔跑的小十一1 小时前
ShardingSphere-JDBC 开发手册
java·数据库
lkbhua莱克瓦241 小时前
基础-MySQL概述
java·开发语言·数据库·笔记·mysql
月明长歌1 小时前
【码道初阶】Leetcode136:只出现一次的数字:异或一把梭 vs HashMap 计数(两种解法完整复盘)
java·数据结构·算法·leetcode·哈希算法
Swift社区1 小时前
LeetCode 456 - 132 模式
java·算法·leetcode
Knight_AL1 小时前
Maven <dependencyManagement>:如何在多模块项目中集中管理依赖版本
java·数据库·maven
狼与自由1 小时前
excel 导入 科学计数法问题处理
java·前端·excel