Вопрос по java, exception – java.lang.ClassNotFoundException: org.apache.log4j.Level

17

Я пытаюсь использовать hibernate 3.5.1 final в приложении Swing, и вот банки, которые я использую:

Гибернации-ядро-3.5.1-Final Гибернации-EntityManager-3.5.1-Final Hibernate-jpa-2.0-api-1.0.0.Final Hibernate-аннотаций-3.5.1-Final Hibernate-commons-annotations-3.2.0.Final Dom4j-1.6.1 SLF4J-апи-1.6.4 SLF4J-log4j12-1.6.4

Когда я пытаюсь запустить приложение, я получаю следующую ошибку:

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)
Если вы пытаетесь использовать символические ссылки для прикрепления файлов jar, тогда смотрите / Stackoverflow.com вопросы / 22240776 / ... GlenPeterson

Ваш Ответ

3   ответа
36

Обратите внимание, чтоslf4j-log4j12-1.6.4.jar - это только адаптер, позволяющий использовать Log4J через API SLF4J. Он не содержит фактическую реализацию Log4J.

Можете ли вы сказать мне, что зависимость maven совместима с версией, которую я использую? Mahmoud Saleh
ну, мне просто нужно Log4j-1.2.16.jar Mahmoud Saleh
adding log4j-1.2.16.jar также решил проблему в моем случае, но slf4j-log4j12-1.6.4.jar этого не сделал lizzie
фактического добавления зависимости maven как таковой в моем случае было недостаточно, мне также пришлось добавить флаг: <scope> build </ scope>, чтобы он выполнялся: <зависимость> <groupId> log4j </ groupId> <artifactId> log4j </ artifactId> <версия> 1.2.17 </ version> <scope> build </ scope> </ dependency> Macilias
5

Log4j и добавьте свой путь к классу.

0

ормально.

slf4j-jdk14-1.7.25.jar
slf4j-api-1.7.25.jar

Похожие вопросы