gpt4 book ai didi

java - Hibernate : Class not found error (java. lang.NoClassDefFoundError),尽管在 Maven 中添加了依赖项

转载 作者:行者123 更新时间:2023-12-02 13:05:45 27 4
gpt4 key购买 nike

我正在尝试使用 Maven 制作一个简单的 Web 应用程序。运行时,servlet 会抛出异常 java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration Error

根据堆栈跟踪,错误在创建 session 工厂的第 (18) 行引发 - enter image description here

错误说找不到Hibernate配置文件,尽管在Maven下添加了依赖项。 pom.xml 文件如下 - (注意依赖 hibernate-core v5.2.10.Final)

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.webapp</groupId>
<artifactId>userinfo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>userinfo</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.10.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-annotations -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.5.6-Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-ehcache -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>4.3.11.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>4.3.11.Final</version>
</dependency> -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-tools
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-tools</artifactId>
<version>5.2.0.Final</version>
</dependency> -->

</dependencies>
</project>

我交叉检查,该 jar 也添加到“Maven 依赖项”选项卡中并包含/cfg/configuration.class。

我不明白问题出在哪里。请建议我如何消除该错误。

一些我已经尝试过但都不起作用的事情:

  • 更改了编译依赖项。
  • 更新(并清理)了 Maven 项目
  • 清理并重新启动 Tomcat 服务器
  • 论坛上的一个回答表明所使用的 Hibernate 版本之间可能存在冲突。这就是为什么“hibernate-tools”依赖项被注释的原因。

如有任何帮助,我们将不胜感激。谢谢

最佳答案

您的 hibernate 工具已被评论

尝试添加这个

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-tools</artifactId>
<version>3.2.0.ga</version>
</dependency>

关于java - Hibernate : Class not found error (java. lang.NoClassDefFoundError),尽管在 Maven 中添加了依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44152078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com