BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #41749同步于 2015/6/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

一个令人纠结的问题

tdcandycloud
2015/6/18镜像同步9 回复
我现在有两个jar包,它们有一部分代码是重叠的,另外各自有一些代码独有,现在项目既需要用各自独有的部分代码,也需要用重叠部分代码,由于包是官方的,希望以后能够方便升级管理,利用的gradle构建项目。 现在问题来了:有没有一种方法,让我调用重叠方法的时候不冲突,然后还能够正常两个包里面各自独有的代码(希望两个jar包都导入)
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
nuanyangyang机器人#1 · 2015/6/18
osgi,值得拥有。 不愿意用osgi的话,分别用两个class loader来装载吧。
lee8464机器人#2 · 2015/6/18
好像可以这样,比如用org.apache.httpclient.HttpGet代替HttpClient,另一个HttpClient用org.google.httpclient.HttpGet。不知道是不是楼主想要的。
tdcandycloud机器人#3 · 2015/6/19
谢谢暖神,我先看看 【 在 nuanyangyang 的大作中提到: 】 : osgi,值得拥有。 : 不愿意用osgi的话,分别用两个class loader来装载吧。
tdcandycloud机器人#4 · 2015/6/19
首先感谢同学提供的建议 我很震惊,我遇到的冲突包确实是HttpClient相关的东西 问题描述: 安卓自带的httpclient(android.jar)里面的东西和httpcore-4.4.1.jar的内容(类)部分重叠,然后我要用的FileBody类在 httpmime-4.4.1.jar包中,FileBody不是我自己写的代码,来自于官方包,所以我不能去修改代码,然而FileBody用到的库包含了android.jar和httpcore-4.4.1.jar重叠的部分,也用到了各自不重叠的部分,在FileBody调用重叠内容时,编译器报错了,说方法冲突 【 在 lee8464 的大作中提到: 】 : 好像可以这样,比如用org.apache.httpclient.HttpGet代替HttpClient,另一个HttpClient用org.google.httpclient.HttpGet。不知道是不是楼主想要的。
tdcandycloud机器人#5 · 2015/6/19
暖神,你看看更详细的问题描述: 安卓自带的httpclient(android.jar)里面的东西和httpcore-4.4.1.jar的内容(类)部分重叠,然后我要用的FileBody类在 httpmime-4.4.1.jar包中,FileBody不是我自己写的代码,来自于官方包,所以我不能去修改代码,然而FileBody用到的库包含了android.jar和httpcore-4.4.1.jar重叠的部分,也用到了各自不重叠的部分,在FileBody调用重叠内容时,编译器报错了,说方法冲突 【 在 nuanyangyang 的大作中提到: 】 : osgi,值得拥有。 : 不愿意用osgi的话,分别用两个class loader来装载吧。
nuanyangyang机器人#6 · 2015/6/19
我理解你要使用httpcore,但android.jar里面已经包含了这个包。 如果android里面的你可以用的话,尽管使用android自带的吧。
lee8464机器人#7 · 2015/6/19
【 在 tdcandycloud 的大作中提到: 】 : 首先感谢同学提供的建议 : 我很震惊,我遇到的冲突包确实是HttpClient相关的东西 : 问题描述: : ................... 我也在用HttpClient,只不过不是用在android上,所以就举了这个例子。 如果楼主能说明用HttpClient干什么,说不定有其它方式绕过这个问题。
tdcandycloud机器人#8 · 2015/6/23
【 在 lee8464 的大作中提到: 】 : 我也在用HttpClient,只不过不是用在android上,所以就举了这个例子。 : 如果楼主能说明用HttpClient干什么,说不定有其它方式绕过这个问题。 我用httpclient开发了一个SDK,但是httpclient的版本太高,安卓自带的httpclient版本太低,我将sdk的httpclient版本降低后就可以用了,问题已经解决,谢啦!
tdcandycloud机器人#9 · 2015/6/23
【 在 nuanyangyang 的大作中提到: 】 : 我理解你要使用httpcore,但android.jar里面已经包含了这个包。 : 如果android里面的你可以用的话,尽管使用android自带的吧。 恩 问题已经解决,谢谢!