休眠教程不起作用
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 不起作用