java库文件冲突的解决办法

前文 说到我最近要维护SDK的代码,然后最近有个问题,就是我们这边使用的一个库和我们的用户使用的这个库冲突了,两边都不好改,我研究了一下,要么我从头写一个,要么只能协调版本号,那么有没有其他简单快捷的方法呢?这就是本文的目的了!就是修改下我这边使用的库的包名就可以了。

资料与介绍

jarjar
github : https://github.com/shevek/jarjar
googlecode : https://code.google.com/archive/p/jarjar/
download

Jar Jar Links是一个实用程序,可以轻松地重新打包Java库并将它们嵌入到您自己的发行版中。 这有用有两个原因:

  • 您可以轻松地发送没有外部依赖项的单个jar文件。
  • 您可以避免库依赖于库的特定版本的问题,这可能与另一个库的依赖项冲突。

它是如何工作的?

Jar Jar Links包含一个扩展内置jar任务的Ant任务。 普通的zipfileset元素用于嵌入jar文件。 添加了一个新的规则元素,它使用通配符模式重命名嵌入的类文件。 字节码转换(通过ASM)用于更改对重命名类的引用,并为移动资源文件和转换字符串文字提供特殊处理。

使用方法

java -jar jarjar-1.4.jar process rules.txt google-collections-1.0.jar google-collections-old-1.0.jar

rules.txt

rule com.google.** com.googleold.@1

参考资料:

1,https://stackoverflow.com/questions/13746737/hand-edit-a-jar-to-change-package-names
2,https://github.com/shevek/jarjar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值