我正在尝试使用Twitter Streaming 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文件,然后使用。但是,我得到了同样的错误。看起来很少有内部依赖关系无法解决。
有人可以帮助我。提前谢谢。
答案 0 :(得分:0)
似乎缺少包含必要的jar文件httpclient.jar
答案 1 :(得分:0)
很难手动找到每个jar并添加到构建路径并进行测试。所以,我终于学会了使用Maven - https://github.com/twitter/hbc。
然而,Guava库是一个旧库并产生了一些错误。我使用了来自https://code.google.com/p/guava-libraries/的Guava-18.0,它运行正常。