Beginning Hibernate 3.5 - Problems with ant task

13,701

Solution 1

Here solves what you want

Mixing mixing different versions of slf4j artifacts can cause problems. For example, if you are using slf4j-api-1.6.1.jar, then you should also use slf4j-simple-1.6.1.jar, using slf4j-simple-1.5.5.jar will not work.

In general, you should make sure that the slf4j-api version matches that of the slf4j binding.

At initialization time, if SLF4J suspects that there may be a version mismatch problem, it will emit a warning about the suspected mismatch. For the exact details of the version mismatch detection mechanism, please refer to the relevant entry in the FAQ.

Solution 2

Here's an example I came across of the SLF4J start up warning when you've got incompatible slf4j versions:

SLF4J: The requested version 1.5.10 by your slf4j binding is not compatible with [1.6] SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.

Share:
13,701
Stefan Kendall
Author by

Stefan Kendall

Updated on June 04, 2022

Comments

  • Stefan Kendall
    Stefan Kendall almost 2 years

    I'm trying to work through "Beginning Hibernate 3.5", and I've hit an initial snag.

    When I run ant exportDDL, I get the following error:

    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 ?
    

    with the following ant task:

    <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>
    

    What's going on here? ant compile works fine, but the exportDDL task does not. The sl4j jar is on the classpath, and I downloaded slf4j-simple-1.6.1.jar. Thoughts?

  • Stefan Kendall
    Stefan Kendall over 13 years
    Yup. Looks like sl4j-api-1.5.8