0

I have a standalone OAuth2.0 java program. I am using

DefaultHttpClient client = new DefaultHttpClient()

in my code and I have external Jar httpClient jar added to my referenced libraries. But when I run my class, it shows the below error:

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 
    } 
}
OneCricketeer
  • 179,855
  • 19
  • 132
  • 245
JavaPassion
  • 75
  • 1
  • 3
  • 9
  • 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 – JavaPassion Nov 27 '17 at 19:18
  • add your code with info where an exception was thrown. – newOne Nov 27 '17 at 19:25
  • public class OAuth { public static void main(String[] args) { String resourceURL = "https://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 } } – JavaPassion Nov 27 '17 at 19:41
  • I'am sure that you no add library to project. Which IDE you use? For [Eclipse](https://stackoverflow.com/a/2824531/7236804), [Intellij](https://stackoverflow.com/a/1051705/7236804) – newOne Nov 27 '17 at 20:56

2 Answers2

1

Try to use a compatible log4j version, your version is higher than required. You may use log4j 1.2.16, since your slf4j-log4j12 version is 1.6.1.

periwinkle
  • 28
  • 3
0

Just make sure slf4j-api/log4j jar is on your classpath

ShaharT
  • 442
  • 5
  • 13
  • I have included slf4j-log4j12-1.7.25, slf4j-api-1.6.0, org.apache.logging.log4j-1.2.17. Now i see a new error, Failed to instantiate SLF4J LoggerFactory Reported exception: java.lang.NoClassDefFoundError: org/apache/log4j/Level – JavaPassion Nov 27 '17 at 20:08
  • the simplest solution is to add log4j, but as _newOne_ wrote, you should add the full stacktrace (and code), the error is not from httpcomponents but from another region which is not at your code (in other words, this code doesn't reproduce the issue) – ShaharT Nov 27 '17 at 20:33
  • I am seeing Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V. I am using org.apache.logging.log4j 2.3, slf4j-api 1.6.1 and slf4j-log4j12 1.6.1 – JavaPassion Nov 28 '17 at 03:16