2011년 9월 5일 월요일

[JAVA] DefaultHttpClient 사용시 LogFactory가 없다는 오류가 나오면?

HttpClient 를 사용하다가 다음과 비슷한 에러를 만날 수 있다.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 
  at org.apache.http.impl.client.AbstractHttpClient.(AbstractHttpClient.java:159)
  at org.apache.http.impl.client.DefaultHttpClient.(DefaultHttpClient.java:178) at test.main(test.java:24) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
  at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
말그대로 LogFactory의 구현 클래스가 없다는 오류인데 사실 DefaultHttpClient 를 사용하려면 다음 라이브러리도 필요하다.

해당 라이브러리는
http://commons.apache.org/logging/ 
에서 받을 수 있으며
commons-logging-1.1.1.jar
파일을 라이브러리에 추가해 주면 된다.