2013-08-14 8 views
0

Я программирую проект, в котором мне нужна технология Hibernate. Я получил эту трассировку стека, и я не знаю, как ее исправить. Любая помощь, пожалуйста?Как исправить эту ошибку SLF4J

Вот мой трассировки стека, я получил эти две ошибки:

SLF4J: SLF4J-апи 1.6.x (или более поздней версии) несовместима с этим обязательным. SLF4J: Ваша привязка - версия 1.5.5 или более ранняя. SLF4J: обновите свою привязку до версии 1.6.x. или 2.0.x

Вот мой HibernateUtils.class

пакет com.forum.utils;

import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration;

общественный класс HibernateUtils {закрытый статический окончательный SessionFactory sessionFactory;

// CREE ипе уникальный экземпляр де ла SessionFactory à Partir де // hibernate.cfg.xml статический {попробуйте {SessionFactory = новый AnnotationConfiguration() настройки() .buildSessionFactory(). } catch (HibernateException ex) {throw new RuntimeException («Пробл. конфигурация:» + ex.getMessage(), ex); }}

// Renvoie une session Hibernate public static Session getSession() throws HibernateException {return sessionFactory.openSession(); }}

Эта ошибка вызывает из строки:

s = HibernateUtils.getSession(); 

hibernate.cfg.xml:

<?xml version='1.0' encoding='utf-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC 
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
    <session-factory> 

     <property name="connection.driver_class">org.postgresql.Driver</property> 
     <property name="connection.url">jdbc:postgresql://localhost:5432/projetForum</property> 
     <property name="connection.username">postgres</property> 
     <property name="connection.password">esct</property> 
     <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property> 

     <!-- Comportement pour la conservation des tables --> 
     <property name="hbm2ddl.auto">update</property> 

     <!-- Activation : affichage en console, commentées et formatées --> 
     <property name="show_sql">true</property> 
     <property name="hibernate.format_sql">true</property> 
     <property name="use_sql_comments">true</property> 

     <!-- Fichiers à mapper --> 
     <mapping class="com.forum.beans.Utilisateur" /> 
     <mapping class="com.forum.beans.Topic" /> 

    </session-factory> 
</hibernate-configuration> 

Вот библиотека Hibernate3.0 и мои JSTL банки:

enter image description here

ответ

0

Согласно вашему списку библиотеки, ваш slf4j-api поступает из hibernate-distribution, а slf4j-log4j12 - из hibernate-annotations.Поскольку slf4j сообщает о несоответствии версии между api и привязкой (slf4j-log4j12), я предполагаю, что вы смешиваете несовместимые библиотеки спящего режима. Для спящего режима 3 имеется матрица совместимости, в которой вы сообщаете, какие версии различных пакетов могут использоваться вместе: https://community.jboss.org/wiki/HibernateCompatibilityMatrix

В качестве альтернативы вы можете перезаписать версии пакетов slf4j-api или slf4j-log4j12 в вашем инструменте построения (при условии, что вы используете их) и убедитесь, что обе они имеют одну и ту же версию. E. g., Если вы используете slf4j-api 1.6.1, вы должны убедиться, что slf4j-log4j12 lib также имеет версию 1.6.1.

0

вам нужно добавить мост SLF4J-к-log4j в вашем пути к классам с той же версией, как ваш SLF4J API (здесь 1.6.1) - - http://www.slf4j.org/dist/slf4j-1.6.1.zip

при использовании Maven, добавьте это:

 <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>${slf4j.version}</version> 
     </dependency> 

в дополнение к (возможно, уже добавили ...)

  <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>${slf4j.version}</version> 
     </dependency> 
0

Вы можете скачать окончательный пакет hibernate с hibernate.org. Разархивируйте этот zip-файл и импортируйте файлы jar в каталог (hibernate/lib/required) в ваш eclipse ide. После этого вы можете скачать slf4j.zip из slf4j.org unzip и добавить файл jar, который называется slf4j-simple-1.7.6.jar

Смежные вопросы