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

相关推荐
普通网友1 小时前
IZT#73193
java·php·程序优化
rechol1 小时前
C++ 继承笔记
java·c++·笔记
Han.miracle4 小时前
数据结构——二叉树的从前序与中序遍历序列构造二叉树
java·数据结构·学习·算法·leetcode
Le1Yu5 小时前
分布式事务以及Seata(XA、AT模式)
java
寒山李白6 小时前
关于Java项目构建/配置工具方式(Gradle-Groovy、Gradle-Kotlin、Maven)的区别于选择
java·kotlin·gradle·maven
无妄无望6 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
MC丶科7 小时前
【SpringBoot 快速上手实战系列】5 分钟用 Spring Boot 搭建一个用户管理系统(含前后端分离)!新手也能一次跑通!
java·vue.js·spring boot·后端
千码君20167 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
夜白宋8 小时前
【word多文档docx合并】
java·word
@yanyu6668 小时前
idea中配置tomcat
java·mysql·tomcat