Начало Hibernate 3.5 - Проблемы с заданием муравья - PullRequest
5 голосов
/ 23 сентября 2010

Я пытаюсь проработать "Beginning Hibernate 3.5", и у меня начальная ошибка.

Когда я запускаю ant exportDDL, я получаю следующую ошибку:

exportDDL:
   [htools] Executing Hibernate Tool with a Hibernate Annotation/EJB3 Configuration
   [htools] 1. task: hbm2ddl (Generates database schema)
   [htools] SLF4J: The requested version 1.6 by your slf4j binding is not compatible with [1.5.5, 1.5.6, 1.5.7, 1.5.8]
   [htools] SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
   [htools] An exception occurred while running exporter #2:hbm2ddl (Generates database schema)
   [htools] To get the full stack trace run ant with -verbose
   [htools] Problems in creating a AnnotationConfiguration. Have you remembered to add it to the classpath ?
   [htools] java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple;

BUILD FAILED
C:\hibernate\project\build.xml:30: Problems in creating a AnnotationConfiguration. Have you
remembered to add it to the classpath ?

со следующей задачей муравья:

<target name="exportDDL" depends="compile">
    <mkdir dir="${sql}"/>
    <htools destdir="${sql}">
        <classpath refid="classpath.tools"/>
        <annotationconfiguration
                configurationfile="${src}/hibernate.cfg.xml"/>
        <hbm2ddl drop="true" outputfilename="sample.sql"/>
    </htools>
</target>
<target name="compile">
    <javac srcdir="${src}" destdir="${bin}" classpathref="classpath.base"/>
</target>

Что здесь происходит? ant compile работает нормально, а задача exportDDL - нет. Баночка sl4j находится на пути к классам, и я скачал slf4j-simple-1.6.1.jar. Мысли? * * 1013

Ответы [ 2 ]

18 голосов
/ 23 сентября 2010

Здесь решает, что вы хотите

Смешивание, смешивание различных версий артефактов slf4j может вызвать проблемы . Например, если вы используете slf4j-api-1.6.1.jar, вам также следует использовать slf4j-simple-1.6.1.jar, так как slf4j-simple-1.5.5.jar работать не будет.

В общем, вы должны убедиться, что версия slf4j-api соответствует версии привязки slf4j .

Во время инициализации, если SLF4J подозревает, что может быть проблема несовпадения версий, он выдаст предупреждение о подозреваемом несоответствии. Точные сведения о механизме обнаружения несоответствия версий см. В соответствующей записи в разделе часто задаваемых вопросов.

3 голосов
/ 22 декабря 2011

Ниже приведен пример предупреждения о запуске SLF4J при наличии несовместимых версий slf4j:

SLF4J: запрашиваемая версия 1.5.10 с помощью привязки slf4j не совместима с [1.6] SLF4J: Подробнее см. http://www.slf4j.org/codes.html#version_mismatch.

...