Сбой сборки с помощью schemaExport, программы HelloWorld с Hibernate - PullRequest
0 голосов
/ 25 июня 2011

Я новичок в Hibernate и пытаюсь написать свою первую программу "helloworld". Я использую шаг в книге "Сохранение Java с Hibernate". когда я запускаю build.xml с муравьем, я получаю следующую ошибку. Ошибка возникла из-за того, что схема должна быть сгенерирована для базы данных с использованием hbm2ddl

СТРОИТЬ НЕУДАЧИ C: \ mypath \ build.xml: 60: java.lang.NoSuchMethodError:> org / slf4j / impl / StaticLoggerBinder.getSingleton () Lorg / slf4 / im / StaticLoggerBinder;

"целевой объект schemaexport von build.xml (так что проследите, чтобы он был готов)"

Перевод: "цель schemaexport для build.xml (должен быть здесь, но я не могу его найти!)"

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

У меня есть следующий * .jar-файл в моем каталоге workdir / lib:

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, и находилась в папке lib / required этой версии hibernate. У меня также есть следующая библиотека (файл 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-апи-1.6.1

Есть еще идеи? спасибо.

1 Ответ

1 голос
/ 25 июня 2011

Скорее всего, это проблема версии: вы используете неверную версию библиотеки slf4j.Одна из библиотек, которую вы используете, пытается найти определенный метод, но этот метод не существует в той версии библиотеки, которую вы используете.

Проверьте, какая именно версия вам нужна, заглянув в документациюверсия Hibernate или других используемых вами библиотек (или попробуйте последнюю версию slf4j.org ).

...