나는 다목적으로 twitter4j를 사용하여 유틸리티 클래스를 작성하고 있습니다. 해시 태그, 위치 등을 기반으로 트윗을 검색 할 수 있지만 스트리밍 API가 작동하지 않습니다.Twitter4j 스트리밍 API 호출 던집니다 클래스를 찾을 수 없습니다 예외
블로그를 다음과 같이 수행 한 후에 main 메소드를 사용하여 클래스를 작성했지만 클래스를 찾을 수 없습니다. 오류가 발생했습니다. 자바를 처음 사용합니다.
package mytweetapp;
import twitter4j.FilterQuery;
import twitter4j.StallWarning;
import twitter4j.Status;
import twitter4j.StatusDeletionNotice;
import twitter4j.StatusListener;
import twitter4j.TwitterException;
import twitter4j.TwitterStream;
import twitter4j.TwitterStreamFactory;
import twitter4j.conf.ConfigurationBuilder;
public class Stream {
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("*****")
.setOAuthConsumerSecret(
"*******")
.setOAuthAccessToken(
"*****")
.setOAuthAccessTokenSecret(
"*****");
TwitterStreamFactory tf = new TwitterStreamFactory(cb.build());
TwitterStream twitter = tf.getInstance();
StatusListener listener = new StatusListener() {
public void onStatus(Status status) {
System.out
.println("@" + status.getUser().getScreenName() + " - " + status
.getText());
}
public void onDeletionNotice(
StatusDeletionNotice statusDeletionNotice) {
System.out
.println("Got a status deletion notice id:" + statusDeletionNotice
.getStatusId());
}
public void onTrackLimitationNotice(int numberOfLimitedStatuses) {
System.out
.println("Got track limitation notice:" + numberOfLimitedStatuses);
}
public void onScrubGeo(long userId, long upToStatusId) {
System.out
.println("Got scrub_geo event userId:" + userId + " upToStatusId:" + upToStatusId);
}
public void onException(Exception ex) {
ex.printStackTrace();
}
@Override
public void onStallWarning(StallWarning arg0) {
// TODO Auto-generated method stub
}
};
FilterQuery fq = new FilterQuery();
String keywords[] = { "Mango", "Banana" };
fq.track(keywords);
twitter.addListener(listener);
twitter.filter(fq);
}
오류
Exception in thread "main" java.lang.NoClassDefFoundError: twitter4j/internal/http/HttpClientWrapperConfiguration
at twitter4j.TwitterStreamFactory.<clinit>(TwitterStreamFactory.java:40)
at mytweetapp.Stream.main(Stream.java:23)
Caused by: java.lang.ClassNotFoundException: twitter4j.internal.http.HttpClientWrapperConfiguration
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)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
당신은 IDE/mvn cli의 내부에서 이것을 실행하고 있습니까? – Ivan
@Ivan 이클립스에서 메인 클래스를 호출하여이 클래스를 실행하고있다 (). twitter4j-core-4.0.4.jar twitter4j-stream-3.0.3.jar도 병 버전 이 클래스에 대해 어떤 클래스 경로를 요구하고 있습니까?이 모든 것을 처음 접했습니다. – 2FaceMan
전체를 업로드 할 수 있습니다. .jar, .project, .classpath, .java 및 기타 파일을 가진 폴더 github을 사용하면 다른 사람들이 쉽게 디버깅 할 수 있습니다. – Ivan