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

引言:

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

效果:

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

在这里插入图片描述

删除了 com.zego目录,重新打包后的 test.jar (233k):
在这里插入图片描述

步骤:

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

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

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

jar -xvf test.jar

在这里插入图片描述

解压后的目录:
在这里插入图片描述

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

// rd adc.class// 删除某个文件
rmdir /s /q im // 删除im目录

在这里插入图片描述

修改后的目录:
在这里插入图片描述

3、重新打包jar文件:

jar cvf test.jar . //打包当前目录下所有的文件

在这里插入图片描述

新打包的jar文件:

在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-09 22:30:11       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-09 22:30:11       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-09 22:30:11       82 阅读
  4. Python语言-面向对象

    2024-03-09 22:30:11       91 阅读

热门阅读

  1. markdown学习笔记

    2024-03-09 22:30:11       47 阅读
  2. spring aop中获取request和response

    2024-03-09 22:30:11       43 阅读
  3. 基础算法(二)#蓝桥杯

    2024-03-09 22:30:11       39 阅读
  4. 外挂的本质以及进程相关的内容

    2024-03-09 22:30:11       41 阅读
  5. ElasticSearch聚合查询

    2024-03-09 22:30:11       35 阅读
  6. CSS 工程结构

    2024-03-09 22:30:11       47 阅读
  7. Pytest教程:Pytest参数化测试

    2024-03-09 22:30:11       49 阅读
  8. SQL 中IN 列表的最佳使用情况

    2024-03-09 22:30:11       45 阅读
  9. 2402. 2-SAT 问题(tarjan,2-SAT模板题)

    2024-03-09 22:30:11       44 阅读
  10. STM32day3

    STM32day3

    2024-03-09 22:30:11      44 阅读
  11. 掌握mysql,看完这篇文章就够了

    2024-03-09 22:30:11       41 阅读
  12. Clickhouse & Elasticsearch 选型对比

    2024-03-09 22:30:11       42 阅读