调用 configureSessionFactory 时,我得到以下明显无用的堆栈跟踪。我假设它找不到驱动程序,但它就在那里(我可以用相同的代码导入它们)。我试过 PostgreSQL 和 MySQL 有没有办法从中获取一些更有用的调试信息?
Exception in thread "main" java.lang.NoClassDefFoundError: javax/transaction/SystemException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.jboss.logging.Logger$1.run(Logger.java:2252)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2227)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2214)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:173)
at ManageEmployee.configureSessionFactory(ManageEmployee.java:21)
at ManageEmployee.main(ManageEmployee.java:33)
Caused by: java.lang.ClassNotFoundException: javax.transaction.SystemException
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:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 9 more
最佳答案
缺少依赖项。如果您使用的是 Maven,则可以将其添加到您的 pom.xml 中:
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
如果您不使用 Maven,您可以包含其他构建工具的必要配置或从此处下载 jar:
关于java - 调试 hibernate 配置的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261546/