0

我正在尝试使用 Twitter 流 API,以便我可以实时过滤一些推文并显示。我正在尝试关注https://github.com/twitter/hbc

我不习惯使用 Maven,所以我在http://www.java2s.com/Code/Jar/h/Downloadhbccore140jar.htm找到了这个 jar 文件。我只是将它添加到我的构建路径并运行以下代码。

 BlockingQueue<String> queue = new LinkedBlockingQueue<String>(10000);
     StatusesFilterEndpoint endpoint = new StatusesFilterEndpoint();

但是,我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest
    at com.twitter.hbc.core.endpoint.BaseEndpoint.<init>(BaseEndpoint.java:40)
    at com.twitter.hbc.core.endpoint.DefaultStreamingEndpoint.<init>(DefaultStreamingEndpoint.java:35)
    at com.twitter.hbc.core.endpoint.StatusesFilterEndpoint.<init>(StatusesFilterEndpoint.java:34)
    at com.twitter.hbc.core.endpoint.StatusesFilterEndpoint.<init>(StatusesFilterEndpoint.java:27)
    at StreamingApi.main(StreamingApi.java:36)
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpUriRequest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)

我什至尝试使用 Maven 编译并将编译的类转换为 jar 文件,然后使用。但是,我得到同样的错误。看起来很少有内部依赖项没有解决。

有人可以帮我吗。提前致谢。

4

2 回答 2

0

似乎您缺少包含必要的 jar 文件httpclient.jar

从这里下载

于 2014-12-18T03:52:12.447 回答
0

很难手动找到每个 jar 并添加到构建路径和测试中。所以,我终于学会了使用 Maven - https://github.com/twitter/hbc

但是,Guava 库是一个旧库,并且产生了一些错误。我使用了来自https://code.google.com/p/guava-libraries/的 Guava-18.0 ,它工作正常。

于 2014-12-27T16:13:17.500 回答