2011-12-05 8 views
1

그래서,은 SLF4J LoggerFactory

내가이 예 BONECP에서 일하고을 인스턴스화하는 데 실패/문서 % 20 ° % 20Settings /DavidH/My%20Documents/NetBeansProjects/jars/slf4j-api-1.6.4.jar 및 D : /Documents%20and%20Settings/DavidH/My%20Documents/NetBeansProjects/jars/slf4j-log4j12-1.6.4. 라이브러리 .

그런 다음 Google 구아바 라이브러리를 만들고 다른 라이브러리에 배포 한 병을 추가했습니다.

다음 두 라이브러리를 프로젝트에 추가하고 실행을 실행합니다. 나는이 문제를 해결하기 위해 할 수있는 일

Failed to instantiate SLF4J LoggerFactory 
Reported exception: 
java.lang.NoClassDefFoundError: org/apache/log4j/Level 
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) 
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108) 
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265) 
    at com.jolbox.bonecp.BoneCPConfig.<clinit>(BoneCPConfig.java:60) 
    at javasampleapps.BoneCPExample.main(BoneCPExample.java:28) 
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 
    ... 7 more 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Level 
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) 
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108) 
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265) 
    at com.jolbox.bonecp.BoneCPConfig.<clinit>(BoneCPConfig.java:60) 
    at javasampleapps.BoneCPExample.main(BoneCPExample.java:28) 
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 
    ... 7 more 
Java Result: 1 
BUILD SUCCESSFUL (total time: 0 seconds) 

:

지금이 오류가?

+0

가능한 복제본 [netbeans에서 SLF4J LoggerFactory를 인스턴스화하지 못했습니다] (http://stackoverflow.com/questions/15246157/failed-to-instantiate-slf4j-loggerfactory-in-netbeans) – kenorb

답변

6

slf4j-log4j12-1.6.4.jar를 포함하는 경우 log4j jar도 포함시켜야합니다. Slf4j는 여러 로깅 API에 대한 통일 된 인터페이스를 제공하는 logging facade입니다.

slf4j-log4j12는 log4j API 로의 변환을 제공합니다. log4j 라이브러리를 포함하지 않으므로 오류가 발생합니다. slf4j-log4j12 라이브러리를 포함하지 않으면 충분합니다 (slf4j-api 라이브러리 만 포함 된 경우 기본값은 no-operation logger AFAIK입니다).

관련 문제