首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate :类未找到错误(java.lang.NoClassDefFoundError),尽管在Maven中添加了依赖项

Hibernate :类未找到错误(java.lang.NoClassDefFoundError),尽管在Maven中添加了依赖项
EN

Stack Overflow用户
提问于 2017-05-24 07:45:03
回答 2查看 914关注 0票数 0

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

根据堆栈跟踪,在创建会话工厂的行(18)处抛出错误-

错误表示它找不到Hibernate配置文件,尽管依赖项是在Maven下面添加的。pom.xml文件如下所示(注意依赖性hibernate-core v5.2.10.Final)

代码语言:javascript
复制
    <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/Dependency.类。

我不明白有什么问题。请建议我如何消除这个错误。

有些东西我已经试过了,但都没有用:

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

任何帮助都将不胜感激。谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-05-24 07:51:58

您的hibernate工具被注释了。

尝试添加以下内容

代码语言:javascript
复制
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-tools</artifactId>
    <version>3.2.0.ga</version>
</dependency>
票数 1
EN

Stack Overflow用户

发布于 2017-05-24 11:03:21

尝试以下过程:

  1. 清理这个项目。
  2. 更新项目。
  3. 从.m2存储库中删除/org/hibernate/目录。
  4. 建造这个项目。
  5. 部署构建。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44152078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档