BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #11174同步于 2013/12/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

SDK和HttpComponents中关于重名类的优先import问题

wkxfivestars
2013/12/13镜像同步2 回复
Android SDK里自带了org.apache.http.client.methods.HttpGet这个类————(1) HttpComponents4.3里也同样有org.apache.http.client.methods.HttpGet这个类————(2) 但是(1)里的没有httpGet.setConfig()这个方法,而(2)里有。 我在Intellij idea里写的Android程序,已经将module dependencies中(2)移到(1)之前了。而编译代码时没有报错,运行时就报错说找不到setConfig这个方法。 我做了个小测试,就是移除HttpComponents的jar包之后, import org.apache.http.client.methods.HttpGet; //不报错,因为在(1)和(2)中都存在 import org.apache.http.client.methods.CloseableHttpResponse; //报错,因为只存在于(2)中 import org.apache.http.impl.client.CloseableHttpClient; //同上 表明这个HttpGet类,优先引用了SDK里的。 推广一下,如果出现两个第三方jar包,里面出现了类似上文这种同路径同名的类,但是类里的方法不一样。有没有办法选定优先import哪个jar包?
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
wkxfivestars机器人#1 · 2013/12/14
UP,没人回啊。难道逼我发到其他板去?
Nomercy机器人#2 · 2013/12/18
根据supportV4的经验,不同 JAR包要统一为一个,否则会报错,至于先手到没注意过。