java.lang.ClassNotFoundException: org.apache.http.util.Args

java.lang.ClassNotFoundException: org.apache.http.util.Args

昨天在用HttpClient做接口调用时,发现请求没有响应,也没有任何提示信息,但是在另外一个项目中却可以正常调用接口。于是,怀疑是系统本身做了什么限制,努力尝试,结果还是不行。后来在执行的地方改了部分代码,结果抛出ClassNotFoundException。有抛异常就好办了。可是项目中,明明有jar,而且还能跳转过去,为何还会报类找不到异常呢,后来网上找了些问题,说是jar冲突(使用Maven管理)。然后对比了下两个项目的jar,发现确实是不一样。虽然两个系统用的jar就差一个版本,但是却相差甚远。后来换了下版本就OK了。

public static String httpPostWithJSON(String url, String json) throws Exception {
        String encoderJson = URLEncoder.encode(json, "UTF-8");

    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(url);

    httpPost.addHeader("Content-type","application/json; charset=utf-8");  
    httpPost.setHeader("Accept", "application/json");  
    httpPost.setEntity(new StringEntity(json, Charset.forName("UTF-8")));  

    long startTime = System.currentTimeMillis();
    // 以下代码调用时没有响应,直接跳过,也不报任何异常
    **HttpResponse response = httpClient.execute(httpPost);**  

    int statusCode = response.getStatusLine().getStatusCode();  

    long endTime = System.currentTimeMillis();  
    logger.info("statusCode:" + statusCode);  
    logger.info("调用API 花费时间(单位:毫秒)" + (endTime - startTime));  
    if (statusCode != HttpStatus.SC_OK) {  
        logger.error("Method failed:" + response.getStatusLine());  
    }  

    String body = EntityUtils.toString(response.getEntity());
    return body;
}

文章参考: http://blog.csdn.net/z69183787/article/details/46335993

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值