2011-12-22 72 views
1

我對Hibernate非常新穎。我之前發佈了一個問題,結果發現實際的教程中有一些錯誤。但我認爲我已經理清了這些事情。無論如何,我是this part of the tutorial。當我做的一切,因爲它之前的狀態和起牀到這個地步,你執行的代碼行,上面寫着:休眠教程 - 接收錯誤

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

當我運行在正確的文件夾內的命令提示符:在我的方案的根文件夾被稱爲測試。我收到以下錯誤:

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

我只使用Maven和Hibernate。我也沒有使用任何IDE。如果我還沒有一個數據庫是爲我創建的?

顯然沒有找到驅動程序的hsqldb這對我沒有意義。

我已經包含了SS enter image description here enter image description here

編輯:包括pom.xml中 http://www.jamesendres.com/pom.xml

編輯2:包括整個項目 http://www.jamesendres.com/test.rar

+0

您可以向mvn exec添加-X參數,並確保類路徑包含hsql jar。 – gkamal 2011-12-22 05:16:17

+0

classpath行不可見。你能用pom.xml和/或mvn依賴關係的輸出更新你的問題:樹 – gkamal 2011-12-22 16:03:16

+0

@gkamal剛剛添加了pom.xml。我不太熟悉mvn,但是我會查找依賴關係的輸出:樹 – meepz 2011-12-22 16:08:06

回答

0

一種可能性是hsqldb是a 插件dependency而不是項目dependency。如果是這樣,則可以適當更改依賴關係或將additional argument-Dexec.includePluginDependencies=true更改爲mvn exec:java

+0

我試過了,我仍然得到相同的錯誤。我問了一個朋友,他們說:「你需要在某處指定hibernate的驅動程序,可能是hibernate.properties文件或persistence.xml。」 – meepz 2011-12-22 16:02:10

0
+0

有沒有辦法讓Maven做到這一點?我不明白爲什麼本教程會讓我們做一些本教程範圍之外的事情。我其實也嘗試將try catch添加到EventManager.java文件,但我仍然沒有運氣。 – meepz 2011-12-23 00:17:48

+0

建議的代碼更改是添加'Class.forName(「org.hsqldb.jdbcDriver」);'而不是try-catch塊。不,Maven不會爲你做這件事。至於爲什麼教程沒有這樣做 - 我不知道。正如你在帖子中提到的,你必須解決教程中的其他錯誤。你可以嘗試發佈到Hibernate自己的用戶論壇(https://forum.hibernate.org/) – 2011-12-23 11:30:55