休眠教程不起作用

Posted

技术标签:

【中文标题】休眠教程不起作用【英文标题】:Hibernate tutorial not working 【发布时间】:2012-09-30 21:19:26 【问题描述】:

我一直在关注http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/tutorial.html上的hibernate教程

正如其他人在各种网络板上指出的那样,它是不完整的。 当我运行这个命令时:

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

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building First Hibernate Tutorial 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> exec-maven-plugin:1.2.1:java (default-cli) @ hibernate-tutorial >>>
[INFO]
[INFO] <<< exec-maven-plugin:1.2.1:java (default-cli) @ hibernate-tutorial <<<
[INFO]
[INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @ hibernate-tutorial ---
[WARNING]
java.lang.ClassNotFoundException: org.hibernate.tutorial.EventManager
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:285)
        at java.lang.Thread.run(Thread.java:722)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.962s
[INFO] Finished at: Sun Sep 30 17:03:34 EDT 2012
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:java (d
efault-cli) on project hibernate-tutorial: An exception occured while executing
the Java class. org.hibernate.tutorial.EventManager -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE
xception

所以我认为问题很明显。当maven执行java时,java不知道在哪里可以找到我的'EventManager'。我在命令行上尝试了以下操作:

设置 CLASSPATH=C:\Users\robe\Documents\hibernate\project1\src\main\java\org

这里还有什么问题?

谢谢!

【问题讨论】:

【参考方案1】:

我认为你的类路径是错误的。试试

set CLASSPATH=C:\Users\robe\Documents\hibernate\project1\src\main\java

您不需要组织。这是完全限定类名的一部分。完整的类名是 org.hibernate.tutorial.EventManager

我不熟悉本教程的问题。您可能会遇到其他类路径错误。如果你这样做了,你可以通过用分号分隔它们来添加更多的类路径。

您还在 cmd 行中设置类路径。它只会为该会话设置,因此您必须在同一个会话中运行您的 mavem 命令。或者在你的全局环境变量中设置

【讨论】:

感谢您的快速响应,但我仍然遇到同样的错误。我的 EventManager.java 在 C:\Users\robe\Documents\hibernate\project1\src\main\java\org\hibernate\tutorial【参考方案2】:

尝试运行:

mvn clean install

我知道这听起来很明显,但是当我尝试执行时

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

我得到了和你一样的错误。但是在运行 mvn clean install 后,应用程序启动了(我为这段代码运行了全新安装 https://github.com/stivlo/hibernate-tutorial,看起来是一样的)

【讨论】:

感谢您的快速响应,但现在我在运行 mvn clean install 时收到此错误:[错误] 无法执行目标 org.apache.maven.plugins:maven-clean-plugin:2.4.1 :clean (default-clean) on project hibernate-tutorial: 无法清理项目: 无法删除 C:\Users\robe\Documents\hibernate\project1\src\main\java\target\ data\tutorial.log -> [Help 1] [ERROR] [ERROR] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。 [错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。 [错误] 您的“tutorial.log”文件似乎已被锁定,无法删除。在运行 mvn clean install 之前尝试删除整个“目标”文件夹。如果仍有问题,请告诉我。

以上是关于休眠教程不起作用的主要内容,如果未能解决你的问题,请参考以下文章

休眠基本示例不起作用

如果不在事务中,休眠 session.update 不起作用

流利的休眠 HasOne WithForeignKey 不起作用

默认列值在休眠中不起作用

当使用多个数据源时,休眠环境不起作用

zeroDateTimeBehavior=convertToNull 在使用休眠的 jdbc url 中不起作用