[英]MultiException stack 1 of 2 java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
[英]java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
我正在尝试使用 Eclipse 中的 Hibernate 进行初始设置,同时使用 Tomcat 进行部署。
我遇到了以下问题:
java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
db.HibernateUtil.buildSessionFactory(HibernateUtil.java:13)
db.HibernateUtil.<clinit>(HibernateUtil.java:8)
我在网上查看了我的问题,我知道它与项目 class 路径有关。
我已经在我的项目中添加了一个用户库,其中包含 hibernate 下载中“必需”目录下的所有 jars,但这似乎不起作用。
您收到错误是因为Tomcat无法使用hibernate库。 在你的图片中,在hibernate库集下面有一个名为“Web App Libraries”的空集 - 这是你的hibernate库需要的集合。
右键单击您的项目 - >构建路径 - >配置构建路径,然后从构建路径中删除hibernate集。 现在将jar导入WEB-INF / lib文件夹。 刷新你的项目,现在你应该看到它们列在'Web App Libraries'集中(我很感激你有点讨厌,你必须将它们导入你的代码库 - 其他人可能知道一个更好的方法来做到这一点不涉及复制罐子)
当您的jar文件尚未与Web存档一起导出时,可能会发生此错误。 您可以执行@Chris White所说的内容,或者如果您使用的是Eclipse,则可以按照以下步骤操作。
Right click the project -> Build Path -> Configure Build Path
在左侧列表中,单击Deployment Assembly 。 单击“ 添加 ”按钮。 选择“ Java Build Path Entries ”,然后单击“ 下一步” 。 现在选择你的hibernate jar文件或库。 点击完成 。 然后单击确定 。
必要时重启服务器。
比克里斯怀特更简单的方式。
您收到错误是因为Tomcat无法使用hibernate库。 右键单击您的项目 - >构建路径 - >配置构建路径,然后从构建路径中删除 hibernate集。
做同样的事情,但不是每次为新项目导入jar,**复制Apache Tomcat **的lib文件夹中所需的hibernate jar(或者你正在使用的服务器)。
您的库文件夹中没有hibernate jar请访问以下链接以获取可能的解决方案, http://www.smashplus.info/2012/11/javalangnoclassdeffounderror.html
要使用 IntelliJ 实现相同的目的:
完毕。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.