无法在Eclipse中导入Apache HTTP

时间:2014-06-23 01:27:55

标签: java eclipse apache

我使用了Apache文档中的示例代码,如下所示:

        final WebClient webClient = new WebClient();

    // Get the first page
    final HtmlPage page1 = webClient.getPage("http://some_url");

    // Get the form that we are dealing with and within that form, 
    // find the submit button and the field that we want to change.
    final HtmlForm form = page1.getFormByName("myform");

    final HtmlSubmitInput button = form.getInputByName("submitbutton");
    final HtmlTextInput textField = form.getInputByName("userid");

    // Change the value of the text field
    textField.setValueAttribute("root");

    // Now submit the form by clicking the button and get back the second page.
    final HtmlPage page2 = button.click();

    webClient.closeAllWindows();

我从WebClient,HtmlPage,HtmlForm中得到错误...基本上,应该从Apache导入的所有东西,都不是。

我已经跟随网上的一些指南,指导我在我的构建路径中添加外部jar,据我所知,所有内容都已正确设置。我尝试过清理项目,重启Eclipse,关闭/打开项目等等。似乎没什么用。

作为参考,我从这个网站下载了.JAR:http://hc.apache.org/

我的导入声明:

import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;

我的错误讯息:

[2014-06-23 12:43:55 - CampusHappenings] Dx 1错误;中止 [2014-06-23 12:43:55 - CampusHappenings]转换为Dalvik格式失败,错误1

整个堆栈跟踪复制太长了,但它与htmlunit JAR本身有关,而不是我的代码。他们都看起来像这样:

Dx警告:忽略匿名内部类的InnerClasses属性 (org.apache.xalan.lib.sql.SecuritySupport12 $ 4)并没有带来 关联的EnclosingMethod属性。这堂课可能是由一个 没有以现代.class文件格式为目标的编译器。

思考?我很困惑。

1 个答案:

答案 0 :(得分:1)

由于我在错误日志中看到了Dalvik,我假设您正在为Android编写代码但是尝试使用可能与Android不兼容的Apache的HttpClient的常见版本。您应该检查这个Apache的文档并尝试专门针对Android的4.3端口。

https://hc.apache.org/httpcomponents-client-4.3.x/android-port.html

可以在此处找到适用于Android jar的HttpClient:http://search.maven.org/remotecontent?filepath=org/apache/httpcomponents/httpclient-android/4.3.3/httpclient-android-4.3.3.jar