【问题标题】:Hibernate Tutorial - Receiving errorsHibernate 教程 - 接收错误
【发布时间】:2012-01-25 18:06:34
【问题描述】:

我对 Hibernate 非常陌生。我之前发布了一个问题,结果发现实际教程中有错误。但我认为我已经把这些事情理顺了。无论如何,我是this part of the tutorial。当我按照之前所说的那样做所有事情并达到这一点时,您执行以下代码行:

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

当我在正确文件夹内的 cmd 提示符下运行它时:在我的场景中,根文件夹称为 test.我收到以下错误:

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

我只使用 Maven 和 Hibernate。我也没有为此使用任何 IDE。如果我还没有数据库,是不是为我创建的?

显然没有找到 hsqldb 的驱动程序,这对我来说没有意义。

我已经包含了一个 ss

编辑:包括 pom.xml http://www.jamesendres.com/pom.xml

编辑 2:包含整个项目 http://www.jamesendres.com/test.rar

【问题讨论】:

  • 你能在 mvn exec 中添加 -X 参数并确保类路径包含 hsql jar。
  • 类路径行不可见。你能用 pom.xml 和/或 mvn dependency:tree 的输出更新你的问题吗
  • @gkamal 刚刚添加了 pom.xml。我对 mvn 不太熟悉,但我会寻找依赖项的输出:tree
  • 您可以尝试使用 -Dexec.classpathScope=runtime 运行。还要验证 hsqldb jar 是否正常 - jar 将位于 user.home/.m2/repository/hsqldb/hsqldb/1.8.0.1
  • 是的 hsqldb 在您指定的文件夹中,但我仍然收到错误消息。我编辑了我的帖子以包含指向我的整个项目的链接。

标签: hibernate maven-2


【解决方案1】:

一种可能性是hsqldb 是一个插件 dependency 而不是一个项目dependency。如果是这样,您可以适当地更改依赖关系或将additional argument -Dexec.includePluginDependencies=true 传递给mvn exec:java

【讨论】:

  • 我试过了,但我仍然得到同样的错误。我问了一个朋友,他们说“你需要在某个地方指定休眠的驱动程序。可能是 hibernate.properties 文件或 persistence.xml。”
【解决方案2】:

【讨论】:

  • 有没有办法让 Maven 做到这一点?我不明白为什么教程会让我们做超出教程范围的事情。实际上,我也确实尝试将 try catch 添加到 EventManager.java 文件中,但我仍然没有运气。
  • 建议的代码更改是添加 Class.forName("org.hsqldb.jdbcDriver"); 而不是 try-catch 块。不,Maven 不会为你做这件事。至于为什么本教程还没有这样做——我不知道。正如您在帖子中提到的,您必须解决教程中的其他错误。您可以尝试发布到 Hibernate 自己的用户论坛 (forum.hibernate.org)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多