繁体   English   中英

java.lang.NoClassDefFoundError: org/hibernate/cfg/配置

[英]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 实现相同的目的:

  • 文件 -> 项目结构
  • 项目设置 -> 工件
  • Select your.war神器
  • 展开可用元素
  • 右击 Hibernate 库 -> 放入 /WEB-INF/lib

完毕。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM