Swingアプリケーションでhibernate 3.5.1 finalを使用しようとしていますが、使用しているjarは次のとおりです。
アプリケーションを実行しようとすると、次のエラーが表示されます。
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 org.hibernate.cfg.Configuration.<clinit>(Configuration.Java:165)
at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.Java:127)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.Java:54)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.Java:48)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.Java:32)
at com.xeno.xecamp.desktopManagement.Main.main(Main.Java:16)
Caused by: Java.lang.ClassNotFoundException: org.Apache.log4j.Level
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:202)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(URLClassLoader.Java:190)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:307)
at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:301)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:248)
... 11 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 org.hibernate.cfg.Configuration.<clinit>(Configuration.Java:165)
at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.Java:127)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.Java:54)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.Java:48)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.Java:32)
at com.xeno.xecamp.desktopManagement.Main.main(Main.Java:16)
Caused by: Java.lang.ClassNotFoundException: org.Apache.log4j.Level
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:202)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(URLClassLoader.Java:190)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:307)
at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:301)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:248)
また、クラスパスにLog4J JARファイルを含める必要があります。
ご了承ください slf4j-log4j12-1.6.4.jar
は、SLF4J APIを介してLog4Jを使用できるようにするための唯一のアダプターです。 Log4Jの実際の実装は含まれていません。
log4j をダウンロードして、クラスパスに追加する必要があります。
私の環境では、2つのファイルをクラスパスに追加しました。そして、うまくいきました。
slf4j-jdk14-1.7.25.jar
slf4j-api-1.7.25.jar