DefaultHttpClient 抛出原因:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory

DefaultHttpClient throws Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory

我有一个独立的 OAuth2.0 java 程序。我正在使用

DefaultHttpClient client = new DefaultHttpClient()

在我的代码中,我将外部 Jar httpClient jar 添加到我引用的库中。但是当我 运行 我的 class 时,它显示以下错误:

Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331‌​) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 8 more

public class OAuth {
    public static void main(String[] args) {
        String resourceURL       = "google.com";
        HttpPost post            = new HttpPost(resourceURL);
        DefaultHttpClient client = new DefaultHttpClient();
        HttpResponse response    = null;
        try {
            response = client.execute(post);
        } catch (ClientProtocolException e) { 
           // TODO Auto-generated catch block 
           e.printStackTrace(); 
        } catch (IOException e) {  
           // TODO Auto-generated catch block 
           e.printStackTrace(); 
        } finally { post.releaseConnection(); 
    } 
    ---print something 
    } 
}

只需确保 slf4j-api/log4j jar 在您的类路径中

尝试使用兼容的log4j版本,您的版本高于要求。 您可以使用 log4j 1.2.16,因为您的 slf4j-log4j12 版本是 1.6.1.