Здравствуйте! Я недавно начал изучение hibernate, но у меня не запускается не одно приложение с использованием этой технологии( даже те приложения, которые в книге приводятся в качестве примера), все время вылетает ошибка:
Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: org/apache/log4j/Layout
Exception in thread "main" java.lang.ExceptionInInitializerError
at util.HibernateUtil.<clinit>(HibernateUtil.java:17)
at events.EventManager.createAndStoreEvent(EventManager.java:17)
at events.EventManager.main(EventManager.java:11)
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Layout
at org.apache.commons.logging.impl.Log4jFactory.getInstance(Log4jFactory.java:140)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:257)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:390)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:120)
at util.HibernateUtil.<clinit>(HibernateUtil.java:13)
... 2 more
Подскажите, пожалуйста, как избавиться от этой ошибки?
Здравствуйте, Dima-amiD, Вы писали:
DA>Здравствуйте! Я недавно начал изучение hibernate, но у меня не запускается не одно приложение с использованием этой технологии( даже те приложения, которые в книге приводятся в качестве примера), все время вылетает ошибка: DA> DA>Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: org/apache/log4j/Layout DA>Exception in thread "main" java.lang.ExceptionInInitializerError DA> at util.HibernateUtil.<clinit>(HibernateUtil.java:17) DA> at events.EventManager.createAndStoreEvent(EventManager.java:17) DA> at events.EventManager.main(EventManager.java:11) DA>Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Layout DA> at org.apache.commons.logging.impl.Log4jFactory.getInstance(Log4jFactory.java:140) DA> at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:257) DA> at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:390) DA> at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:120) DA> at util.HibernateUtil.<clinit>(HibernateUtil.java:13) DA> ... 2 more DA>
DA>Подскажите, пожалуйста, как избавиться от этой ошибки?
Наверное добавить библиотеку log4j в classpath? Она идет как dependency с хибернейтом.
Здравствуйте, Dima-amiD, Вы писали:
DA>Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: org/apache/log4j/Layout DA>Подскажите, пожалуйста, как избавиться от этой ошибки?
Я бы использовал теги [.java][./java] для форматирования стектрейса.
По проблеме: проверьте список зависимостей ваших приложений. В данном конкретном случае не найдена библиотека Log4J. Я не думаю, что hibernate зависит от этой библиотеки (скорее от commons loggin), т.е. скорее всего log4j нужен кому-то другому.
Здравствуйте, Dima-amiD, Вы писали:
Г>По проблеме: проверьте список зависимостей ваших приложений. В данном конкретном случае не найдена библиотека Log4J. Я не думаю, что hibernate зависит от этой библиотеки (скорее от commons loggin), т.е. скорее всего log4j нужен кому-то другому.
Здравствуйте, Dima-amiD, Вы писали:
DA>Ошибка, собственно, вылетает на месте вызова
DA>
DA> SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
DA>
Я бы поставил на то, что класс util.HibernateUtil использует log4j напрямую, а не через commons logging. Понять это очень просто — открываешь класс HibernateUtil.java и смотришь импорты.