2011-12-22 2 views
1

Я чрезвычайно новичок в Hibernate. Я отправил вопрос раньше, и выясняется, что в нем есть ошибки. Но я думал, что все это выпрямил. Во всяком случае я this part of the tutorial. Когда я делаю все, как говорится, до и получить до этой точки, где вы выполнили строку кода, который говорит:Hibernate Tutorial - Получение ошибок

mvn exec:java -Dexec.mainClass="org.hibernate.tutorial.EventManager" -Dexec.args="store" 

Когда я бегу, что в CMD строке внутри правильную папку: в моем случае корневой папки называется тестом. Я получаю следующую ошибку:

No suitable driver found for jdbc:hsqldb:mem:testdb 

Я использую только Maven и Hibernate. Я тоже не использую IDE. Если у меня нет db, то я создан для меня?

Видимо, для hsqldb не найдено ни одного драйвера, что для меня не имеет смысла.

Я включил сс enter image description here enter image description here

Edit: включал pom.xml http://www.jamesendres.com/pom.xml

Edit 2: включено весь проект http://www.jamesendres.com/test.rar

+0

вы можете добавить аргумент -X в mvn exec и убедиться, что путь к классам содержит jsql jar. – gkamal

+0

Линия пути к классам не видна. Можете ли вы обновить свой вопрос с помощью pom.xml и/или вывода зависимости mvn: tree – gkamal

+0

@gkamal Просто добавил pom.xml. Я не слишком хорошо знаком с mvn, но я буду искать результат зависимости: tree – meepz

ответ

0

Одним из возможных вариантов является hsqldb является a плагинdependency, а не проект dependency. Если это так, вы можете либо соответствующим образом изменить зависимость, либо передать additional argument-Dexec.includePluginDependencies=true на номер mvn exec:java.

+0

Я пробовал это, и я до сих пор получаю ту же ошибку. Я спросил друга, и они сказали: «Вам нужно указать драйвер для спящего режима где-то, возможно, файл hibernate.properties или persistence.xml». – meepz

0

Вы зарегистрировали драйвер при использовании HSQL. См. https://stackoverflow.com/a/2262136/51782 или http://www.willamaze.eu/2009/02/running-hsqldb-in-process-no-suitable-driver-found/.

+0

Есть ли способ заставить Maven сделать это? Я не понимаю, почему учебник заставил бы нас сделать что-то вне рамки учебника. Я также попытался добавить try catch в файл EventManager.java, но мне все еще не повезло. – meepz

+0

Предлагаемое изменение кода заключается в добавлении 'Class.forName (" org.hsqldb.jdbcDriver ");', а не блока try-catch. И нет, Maven не сделает этого для вас. Что касается того, почему учебник этого не делает, я не знаю. Как вы упомянули в сообщении, вам пришлось разрешить другие ошибки в учебнике. Вы можете попробовать опубликовать свой собственный форум Hibernate (https://forum.hibernate.org/) –

Смежные вопросы