【问题标题】:Cannot find symbol HttpClient找不到符号 HttpClient
【发布时间】:2013-10-16 15:43:46
【问题描述】:

这些事情对我来说从来没有多大意义。我正在尝试使用此类:

http://www.devdaily.com/java/jwarehouse/commons-httpclient-2.0.1/src/java/org/apache/commons/httpclient/ChunkedInputStream.java.shtml

每次编译时都会遇到一堆错误,例如:

> /ChunkedInputStream.java:85: cannot find symbol
> symbol  : class HttpMethod
> location: class .ChunkedInputStream
>     private HttpMethod method;
>             ^
> /ChunkedInputStream.java:96: cannot find symbol
> symbol  : class HttpMethod
> location: class .ChunkedInputStream
>         final InputStream in, final HttpMethod method) throws IOException {
>                                     ^
> /ChunkedInputStream.java:283: cannot find symbol
> symbol  : variable HttpConstants
> location: class .ChunkedInputStream
>         String dataString = HttpConstants.getString(baos.toByteArray());
>                             ^
> /ChunkedInputStream.java:303: cannot find symbol
> symbol  : class Header
> location: class .ChunkedInputStream
>         Header[] footers = HttpParser.parseHeaders(in);
>         ^
> /ChunkedInputStream.java:303: cannot find symbol
> symbol  : variable HttpParser
> location: class .ChunkedInputStream
>         Header[] footers = HttpParser.parseHeaders(in);

难道我不能访问这些对象,因为它是包 org.apache.commons.httpclient 的一部分; ?我还将 apache http 客户端 jars 添加到我的应用程序中。什么给了?

【问题讨论】:

  • 你的类路径上有 http-core 吗?
  • 是的,我有 httpcore-4.2.1.jar 和 httpclient-4.2.1.jar
  • 你用什么来构建你的项目?蚂蚁/行家/别的什么?你用IDE吗?相信我,你最好使用 maven 之类的东西来管理你的依赖项(MadProgrammer 有一点)。
  • 我只是在使用文本编辑器,应用程序在 Tomcat 中
  • 别折磨自己,弄个 IDE 和 maven 来用吧

标签: java compiler-errors httpclient


【解决方案1】:

您需要确保导入位于程序的顶部。项目中有 jar 是不够的,除非这些类不在同一个包中,否则您需要将这些类显式地 import 到您的程序中。

【讨论】:

  • 我添加了这个:import org.apache.commons.httpclient.*;我仍然得到同样的错误。
  • 确保那些 jars 在类路径中。你在使用任何 IDE 吗?
  • 我没有使用 IDE。我在编译时使用的 shared/lib 文件夹中有 httpcore-4.2.1.jar 和 httpclient-4.2.1.jar
【解决方案2】:

根据记忆,HttpClient 有(至少一个)项目依赖于 HttpCore 并且了解 apache,可能更多,比如 io-commons 和日志记录

我最终链接了

  • Apache-mime4j
  • 通用编解码器
  • 公共日志记录
  • Httpclient (4)
  • HttpCore (4)
  • HttpMime (4)

但这可能有点矫枉过正,但它对我有用

【讨论】:

  • 我有 commons-codec-1.6.jar、commons-logging-1.1.1.jar、fluent-hc-4.2.1.jar、httpclient-4.2.1.jar、httpclient-cache- 4.2.1.jar、httpcore-4.2.1.jar、httpmime-4.2.1.jar - 我没有 apache-mime4j 但它不包含在 apache httpclient 中
  • 这听起来仍然像是缺少资源的问题。如果您不使用 IDE,您将如何编译程序?蚂蚁?手工?
  • 我知道,这非常愚蠢,但请确保在类路径参数中提供了所有 jar 依赖项,包括 httpClient 可能需要的任何子依赖项
猜你喜欢
  • 2014-04-11
  • 2013-09-12
  • 2013-06-06
  • 2017-10-01
  • 2015-05-10
  • 2014-01-05
  • 2022-01-17
  • 1970-01-01
  • 2019-10-11
相关资源
最近更新 更多