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

新手上路,请多包涵

我正在尝试在 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)

我在网上查看了我的问题,我知道它与项目类路径有关。

我已经在我的项目中添加了一个用户库,其中包含休眠下载中“必需”目录下的所有 jar,但这似乎不起作用。

在此处找到我的项目的屏幕截图:

原文由 Blue 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 542
2 个回答

您收到错误是因为休眠库对 Tomcat 不可用。在您的图片中,休眠库集下方有一个名为“Web App Libraries”的空集 - 这是您的休眠库需要位于的集。

右键单击您的项目 -> 构建路径 -> 配置构建路径,然后从构建路径中删除休眠集。现在将 jars 导入到 WEB-INF/lib 文件夹中。刷新你的项目,现在你应该看到它们列在“Web App Libraries”集中(我明白这有点烦人,你必须将它们导入你的代码库 - 其他人可能知道更好的方法来做到这一点涉及复制罐子)

原文由 Chris White 发布,翻译遵循 CC BY-SA 3.0 许可协议

当您的 jar 文件未与您的 Web 存档一起 导出 时,可能会发生此错误。您可以按照@Chris White 所说的进行操作,或者如果您使用的是 Eclipse,则可以按照以下步骤操作。

Right click the project -> Build Path -> Configure Build Path

在左侧列表中单击 Deployment Assembly 。单击“ 添加”按钮。选择“ Java Build Path Entries ”并单击 下一步。现在选择您的休眠 jar 文件或库。点击 完成。然后点击 确定

如有必要,请重新启动服务器。

原文由 prageeth 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题