schemaExport 构建失败,带有 Hibernate 的 HelloWorld 程序

Posted

技术标签:

【中文标题】schemaExport 构建失败,带有 Hibernate 的 HelloWorld 程序【英文标题】:Build failed by schemaExport, HelloWorld program with Hibernate 【发布时间】:2011-06-25 18:58:12 【问题描述】:

我是 Hibernate 的新手,并尝试编写我的第一个“helloworld”程序。我正在使用“Java Persistence with Hibernate”一书中的步骤。当我用 ant 运行 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 的schemaexport 目标(必须在这里,但我找不到!)”

<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 休眠3 hibernate-jpa-2.0-api-1.0.0.Final 休眠工具 数据库 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】:

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

通过查看 Hibernate 版本或您正在使用的其他库的文档(或尝试来自 slf4j.org 的最新版本)来检查您究竟需要哪个版本。

【讨论】:

以上是关于schemaExport 构建失败,带有 Hibernate 的 HelloWorld 程序的主要内容,如果未能解决你的问题,请参考以下文章

尝试将带有顺风的 MERN 堆栈部署到 Heroku 时构建失败

OpenShift:构建失败,带有“无效的输出引用”

在 Xcode 升级后 Flutter iOS 构建失败错误并带有多个命令

带有 vs2013 的 Windows 7 上的 Chromium 构建失败(警告为错误)

带有spring-cloud的Spring Boot:gradle构建失败

为啥 hbm2ddl.SchemaExport 不在此处运行?