使用Hibernate的schemaExport,HelloWorld程序构建失败

时间:2011-06-25 18:58:12

标签: java hibernate hsqldb

我是Hibernate的新手,并尝试编写我的第一个“helloworld”程序。我正在使用“Java Persistence with Hibernate”一书中的步骤。当我用蚂蚁运行build.xml时,我成了以下错误。出现错误的原因是必须使用hbm2ddl

在数据库上生成模式
  

建立失败   C:\ mypath \ build.xml:60:java.lang.NoSuchMethodError:> org / slf4j / impl / StaticLoggerBinder.getSingleton()Lorg / slf4 / im / StaticLoggerBinder;

     

“schemaexport target von build.xml(so sieht die stelle wo der fehler sein sollte aus)”

     

翻译:“build.xml的buildexport目标(必须在这里,但我找不到它!)”

<target name="schemaexport" depends="compile, copymetafiles"
description="Exports a generated schema to DB and file">
<hibernatetool destdir="${basedir}">
<classpath path="${build.dir}"/>
<configuration
configurationfile="${build.dir}/hibernate.cfg.xml"/>
<hbm2ddl
drop="true"
create="true"
export="true"
outputfilename="helloworld-ddl.sql"
delimiter=";"
format="true"/>
</hibernatetool>
</target>

我的workdir / lib目录中有以下* .jar文件:

antlr.jar
asm.jar
asm-attrs.jars
c3p0.jar
cglib.jar
commons-collections.jar
jcl-over-slf4j.jar
dom4j.jar
hibernate3.jar
hsqldb.jar
jta.jar

谢谢回复!我非常感谢 我使用的是最新版本的slf4j(slf4j-api-1.6.1)。这个版本附带我下载的hibernate,hibernate-distribution-3.6.5.Final,并且位于这个hibernate版本的lib / required文件夹中。我还有以下库(jar文件): 所有以.jar结尾 dom4j的-1.6.1 Hibernate3的 hibernate-jpa-2.0-api-1.0.0.Final 冬眠的工具 HSQLDB javassist-3.12.0.GA jcl-over-slf4j-1.5.4(我也尝试commons-logging-1.1.1但没有改变) JTA-1.1 log4j的-1.2.16 SLF4J-API-1.6.1

还有其他想法吗? 感谢。

1 个答案:

答案 0 :(得分:1)

这很可能是版本问题:您使用的是错误版本的slf4j库。您正在使用的其中一个库尝试查找某个方法,但该方法在您使用的库版本中不存在。

查看您正在使用的Hibernate版本或其他库的文档(或尝试slf4j.org中的最新版本),确切查看所需的版本。