2011-12-05 6 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。 ja をライブラリに追加します。

私はGoogle Guavaライブラリを作成し、そのライブラリを別のライブラリに配布しました。

私は両方のライブラリをプロジェクトに追加し、ヒットしました。

私は今、このエラーが出る:

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との統一的なインターフェイスを提供します。

slf4j-log4j12は、log4j APIへの変換を提供します。 log4jライブラリをインクルードしないので、エラーが発生します。 slf4j-log4j12ライブラリを含めないと十分です(slf4j-apiライブラリだけが含まれている場合は、デフォルトでは非操作ロガーAFAIKになります)。

関連する問題