Apache httpclient不存在。错误

时间:2012-06-11 19:54:45

标签: java apache compilation

嗨,我一直都有错误 enter image description here

test.java:15: package org.apache.commons.httpclient does not exist
import org.apache.commons.httpclient.Cookie;
                                ^
test.java:16: package org.apache.commons.httpclient does not exist
import org.apache.commons.httpclient.HttpState;
                                ^
test.java:17: package org.apache.commons.httpclient does not exist
import org.apache.commons.httpclient.HttpClient;
                                ^
test.java:18: package org.apache.commons.httpclient.methods does not exist
import org.apache.commons.httpclient.methods.GetMethod;
                                        ^
test.java:22: cannot find symbol
symbol  : class HttpClient
location: class test
            HttpClient client = new HttpClient();
            ^
test.java:22: cannot find symbol
symbol  : class HttpClient
location: class test
            HttpClient client = new HttpClient();
                                    ^
test.java:26: cannot find symbol
symbol  : class GetMethod
location: class test
            GetMethod method = new GetMethod("https://online.investools.com/authentication/auth.iedu");
            ^
test.java:26: cannot find symbol
symbol  : class GetMethod
location: class test
            GetMethod method = new GetMethod("https://online.investools.com/authentication/auth.iedu");
                                   ^
test.java:29: cannot find symbol
symbol  : class Cookie
location: class test
                              Cookie[] cookies = client.getState().getCookies();
                              ^
test.java:31: cannot find symbol
symbol  : class Cookie
location: class test
                                    Cookie cookie = cookies[i];
                                    ^
10 errors

编译我使用

javac -cp ;./httpclient-4.2.jar;jsoup-1.6.3.jar test.java

这是代码

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.apache.commons.httpclient.Cookie;  
import org.apache.commons.httpclient.HttpState;  
import org.apache.commons.httpclient.HttpClient;  
import org.apache.commons.httpclient.methods.GetMethod; 


public class test{
public static void main (String []args)throws IOException{
    HttpClient client = new HttpClient();  
    client.getParams().setParameter("username", "SomeUSER");  
    client.getParams().setParameter("password", "GF@QT#$WE");  

    GetMethod method = new GetMethod("https://online.investools.com/authentication/auth.iedu");  
        try{  
              client.executeMethod(method);  
              Cookie[] cookies = client.getState().getCookies();  
              for (int i = 0; i < cookies.length; i++) {  
                Cookie cookie = cookies[i];  
                System.err.println(  
                  "Cookie: " + cookie.getName() +  
                  ", Value: " + cookie.getValue() +  
                  ", IsPersistent?: " + cookie.isPersistent() +  
                  ", Expiry Date: " + cookie.getExpiryDate() +  
                  ", Comment: " + cookie.getComment());  
                }  
              client.executeMethod(method);  
        } 
        catch(Exception e) {  
          System.err.println(e);  
        } 
        finally {  
          method.releaseConnection();  
        }

我很困惑,不知道我做错了什么。我认为它很简单,但我已经检查过几次并且它存在并且jsoup编译得很好。 感谢

3 个答案:

答案 0 :(得分:8)

如果你使用HttpClient 4.2(看起来像你),我相信你想要org.apache.http.clientorg.apache.commons.httpclient包适用于older version

编辑:不是所有 httpclient中的类现在都在http.client;有些只是http。此外,还需要进行其他更改 - 例如,HttpClient现在是一个接口,因此您无法像这样进行实例化。基本上,你有3.x代码,所以你应该将它更新为4.x或使用3.x jar文件。

答案 1 :(得分:1)

我从这里找到了我的遗失版本: http://mvnrepository.com/artifact/commons-httpclient/commons-httpclient

dependencies {
    compile 'commons-httpclient:commons-httpclient:3.1'
}

答案 2 :(得分:0)

使用jar -xvf httpclient-4.2.java temp

检查org / apache / commons / httpclient / Cookie是否存在,如果不存在则错误/损坏jar

也可以尝试javac -cp。; ./ httpclient-4.2.jar; jsoup-1.6.3.jar test.java而不是 javac -cp; ./ httpclient-4.2.jar; jsoup-1.6.3.jar test.java