java.lang.ClassNotFoundException:org.dom4j.DocumentException
我编写了一些代码来学习hibernate。它在下面抛出错误。如何找出问题所在并加以解决?dom4j听起来像是一个XML问题。问题出在hibernate.cfg.xmljava.lang.ClassNotFoundException:org.dom4j.DocumentException,java,xml,hibernate,Java,Xml,Hibernate,我编写了一些代码来学习hibernate。它在下面抛出错误。如何找出问题所在并加以解决?dom4j听起来像是一个XML问题。问题出在hibernate.cfg.xml Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException at com.examscam.model.User.persist(User.java:45) at com.examscam.model.User.mai
Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at com.examscam.model.User.persist(User.java:45)
at com.examscam.model.User.main(User.java:57)
Caused by: java.lang.ClassNotFoundException: org.dom4j.DocumentException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
为什么eclipse没有显示更多的东西
代码-
XML文件-
更新
修复上述错误后,出现了一个新问题-
我正在用eclipse编写代码。我添加了代码所需的所有可能的jar,但我的代码仍然无法工作。当我已经添加了sl4fj时,为什么会出现java.lang.ClassNotFoundException:org.slf4j.impl.StaticLoggerBinder错误
slf4j-api-1.5.8.jar构建路径
错误-
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j
/impl/StaticLoggerBinder
at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:223)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:120)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:269)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:152)
at com.examscam.model.User.persist(User.java:45)
at com.examscam.model.User.main(User.java:57)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 9 more
确保dom4j.jar位于类路径中 你现在说的是什么
当您看到“…2 more”时,这意味着“caused by”异常的剩余行与父异常上该点的剩余行相同。确保dom4j.jar位于类路径中 你现在说的是什么
当您看到“…2 more”时,这意味着“caused by”异常的剩余行与父异常上该点的剩余行相同。Add dom4j.jar在项目的lib中。Add dom4j.jar在项目的lib中。似乎缺少某个jar。@Sudhanshu-你怎么会这样想?是java.lang.NoClassDefFoundError:org/dom4j/DocumentException吗?由以下原因引起:java.lang.ClassNotFoundException:org.dom4j.DocumentExceptions似乎缺少一些jar。@苏丹舒-你怎么会这样想?是java.lang.NoClassDefFoundError:org/dom4j/DocumentException吗?由以下原因引起:java.lang.ClassNotFoundException:org.dom4j.DocumentException所有其他JAR放置。但现在出现了一个相同类型的新错误。奇怪。意味着仍然有一些可传递的依赖项,继续更新类路径,直到这个错误没有解决。如果这只是一个小测试,那么切换到Maven会大大减少您的工作量。它将如何减少我的工作量?我认为eclipse在幕后使用maven和其他类似的东西使我们的项目工作。我想我现在应该让eclipse来处理所有这些问题。就像现在您面临着可传递依赖项的问题一样,maven将通过读取hibernate中依赖项的pom文件来自动为您处理这些问题。是的,如果您将项目配置为maven项目,eclipse将为您处理这些问题。否则其他罐子都放不下了。但现在出现了一个相同类型的新错误。奇怪。意味着仍然有一些可传递的依赖项,继续更新类路径,直到这个错误没有解决。如果这只是一个小测试,那么切换到Maven会大大减少您的工作量。它将如何减少我的工作量?我认为eclipse在幕后使用maven和其他类似的东西使我们的项目工作。我想我现在应该让eclipse来处理所有这些问题。就像现在您面临着可传递依赖项的问题一样,maven将通过读取hibernate中依赖项的pom文件来自动为您处理这些问题。是的,如果您将项目配置为maven项目,eclipse将为您处理这些问题。否则没有
<?xml version = '1.0' encoding='UTF-8' ?>
<!Doctype hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name = "connection.url">
jdbc:mysql://localhost/examscam
</property>
<property name = "connection.username">
root
</property>
<property name = "connection.password">
password
</property>
<property name = "connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name = "dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name = "transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
<property name = "current_session_context_class">
thread
</property>
<!-- this will show us all the SQL statements-->
<property name = "hibernate.show_sql">
true
</property>
<!-- We dont use any mapping files as of now-->
</session-factory>
</hibernate-configuration>
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j
/impl/StaticLoggerBinder
at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:223)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:120)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:269)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:152)
at com.examscam.model.User.persist(User.java:45)
at com.examscam.model.User.main(User.java:57)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 9 more