原因:java.lang.ClassNotFoundException:com.springfoundation.model.Contact-maven

原因:java.lang.ClassNotFoundException:com.springfoundation.model.Contact-maven,java,hibernate,maven,Java,Hibernate,Maven,我的挑战是,即使我在hibernate.cfg.xml文件中定义了这个错误,我还是会遇到这个错误 完成堆栈跟踪 Caused by: org.hibernate.MappingException: Unable to load class [ com.springfoundation.model.Contact] declared in Hibernate configuration <mapping/> entry at org.hibernate.cfg.Configur

我的挑战是,即使我在hibernate.cfg.xml文件中定义了这个错误,我还是会遇到这个错误

完成堆栈跟踪

Caused by: org.hibernate.MappingException: Unable to load class [ com.springfoundation.model.Contact] declared in Hibernate configuration <mapping/> entry
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2149)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2097)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2077)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2030)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1981)
    at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:282)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)

SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [spring/spring-datasource-config.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: Unable to load class [ com.springfoundation.model.Contact] declared in Hibernate configuration <mapping/>
原因:org.hibernate.MappingException:无法加载在hibernate配置条目中声明的类[com.springfoundation.model.Contact]
位于org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2149)
位于org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2097)
位于org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2077)
位于org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2030)
位于org.hibernate.cfg.Configuration.configure(Configuration.java:1981)
位于org.springframework.orm.hibernate4.LocalSessionFactoryBean.AfterPropertieSet(LocalSessionFactoryBean.java:282)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
严重:将上下文初始化事件发送到类org.springframework.web.context.ContextLoaderListener的侦听器实例时发生异常
org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的bean时出错,该bean在类路径资源[spring/spring datasource config.xml]中定义:调用init方法失败;嵌套异常为org.hibernate.MappingException:无法加载在hibernate配置中声明的类[com.springfoundation.model.Contact]
这是hibernate.cfg.xml文件中的映射

<hibernate-configuration>
    <session-factory>
        <mapping class="com.springfoundation.model.Contact" />
    </session-factory>
</hibernate-configuration>

请协助。

您可以尝试在映射中使用“资源”标识符,而不是“类”标识符

下面是一个例子:

hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <mapping resource="com/example/model/Person.hbm.xml"/>

    </session-factory>

</hibernate-configuration>
<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.example.model">

    <class name="Person" table="Person">
        <id name="id" column="PERSON_ID">
            <generator class="increment"/>
        </id>
        <property name="email"/>
        <property name="firstName"/>
        <property name="lastName"/>
    </class>

</hibernate-mapping>
<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.example</groupId>
    <artifactId>spring-one-jar</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <org.apache.cxf.version>2.7.2</org.apache.cxf.version>
        <org.springframework.version>3.2.0.RELEASE</org.springframework.version>
        <org.eclipse.jetty.version>8.1.8.v20121106</org.eclipse.jetty.version>
    </properties>

    <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
          <execution>
            <goals>
              <goal>java</goal> 
            </goals>
          </execution>
        </executions>
        <configuration>
          <mainClass>com.example.App</mainClass>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/resources</directory>
      </resource>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>4.1.11.Final</version>
    </dependency>

    <!-- Hibernate uses jboss-logging for logging, for the tutorials we will use the sl4fj-simple backend -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.6.1</version>
    </dependency>

    <!-- The tutorials use JUnit test cases to illustrate usage -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
    </dependency>

    <!-- The tutorials use the H2 in-memory database -->
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.2.145</version>
    </dependency>

    <!--  Gson: Java to Json conversion -->
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.2.4</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-frontend-jaxrs</artifactId>
      <version>${org.apache.cxf.version}</version>
    </dependency>

    <dependency>
      <groupId>javax.inject</groupId>
      <artifactId>javax.inject</artifactId>
      <version>1</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.jaxrs</groupId>
      <artifactId>jackson-jaxrs-json-provider</artifactId>
      <version>2.1.1</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.1.1</version>
    </dependency>

    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib-nodep</artifactId>
      <version>2.2</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <version>${org.eclipse.jetty.version}</version>            
    </dependency>

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-webapp</artifactId>
      <version>${org.eclipse.jetty.version}</version>            
    </dependency>
  </dependencies>
</project>

Person.hbm.xml

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <mapping resource="com/example/model/Person.hbm.xml"/>

    </session-factory>

</hibernate-configuration>
<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.example.model">

    <class name="Person" table="Person">
        <id name="id" column="PERSON_ID">
            <generator class="increment"/>
        </id>
        <property name="email"/>
        <property name="firstName"/>
        <property name="lastName"/>
    </class>

</hibernate-mapping>
<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.example</groupId>
    <artifactId>spring-one-jar</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <org.apache.cxf.version>2.7.2</org.apache.cxf.version>
        <org.springframework.version>3.2.0.RELEASE</org.springframework.version>
        <org.eclipse.jetty.version>8.1.8.v20121106</org.eclipse.jetty.version>
    </properties>

    <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
          <execution>
            <goals>
              <goal>java</goal> 
            </goals>
          </execution>
        </executions>
        <configuration>
          <mainClass>com.example.App</mainClass>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/resources</directory>
      </resource>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>4.1.11.Final</version>
    </dependency>

    <!-- Hibernate uses jboss-logging for logging, for the tutorials we will use the sl4fj-simple backend -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.6.1</version>
    </dependency>

    <!-- The tutorials use JUnit test cases to illustrate usage -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
    </dependency>

    <!-- The tutorials use the H2 in-memory database -->
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.2.145</version>
    </dependency>

    <!--  Gson: Java to Json conversion -->
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.2.4</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-frontend-jaxrs</artifactId>
      <version>${org.apache.cxf.version}</version>
    </dependency>

    <dependency>
      <groupId>javax.inject</groupId>
      <artifactId>javax.inject</artifactId>
      <version>1</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.jaxrs</groupId>
      <artifactId>jackson-jaxrs-json-provider</artifactId>
      <version>2.1.1</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.1.1</version>
    </dependency>

    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib-nodep</artifactId>
      <version>2.2</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <version>${org.eclipse.jetty.version}</version>            
    </dependency>

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-webapp</artifactId>
      <version>${org.eclipse.jetty.version}</version>            
    </dependency>
  </dependencies>
</project>

更新: pom.xml

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <mapping resource="com/example/model/Person.hbm.xml"/>

    </session-factory>

</hibernate-configuration>
<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.example.model">

    <class name="Person" table="Person">
        <id name="id" column="PERSON_ID">
            <generator class="increment"/>
        </id>
        <property name="email"/>
        <property name="firstName"/>
        <property name="lastName"/>
    </class>

</hibernate-mapping>
<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.example</groupId>
    <artifactId>spring-one-jar</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <org.apache.cxf.version>2.7.2</org.apache.cxf.version>
        <org.springframework.version>3.2.0.RELEASE</org.springframework.version>
        <org.eclipse.jetty.version>8.1.8.v20121106</org.eclipse.jetty.version>
    </properties>

    <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
          <execution>
            <goals>
              <goal>java</goal> 
            </goals>
          </execution>
        </executions>
        <configuration>
          <mainClass>com.example.App</mainClass>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/resources</directory>
      </resource>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>4.1.11.Final</version>
    </dependency>

    <!-- Hibernate uses jboss-logging for logging, for the tutorials we will use the sl4fj-simple backend -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.6.1</version>
    </dependency>

    <!-- The tutorials use JUnit test cases to illustrate usage -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
    </dependency>

    <!-- The tutorials use the H2 in-memory database -->
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.2.145</version>
    </dependency>

    <!--  Gson: Java to Json conversion -->
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.2.4</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-frontend-jaxrs</artifactId>
      <version>${org.apache.cxf.version}</version>
    </dependency>

    <dependency>
      <groupId>javax.inject</groupId>
      <artifactId>javax.inject</artifactId>
      <version>1</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.jaxrs</groupId>
      <artifactId>jackson-jaxrs-json-provider</artifactId>
      <version>2.1.1</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.1.1</version>
    </dependency>

    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib-nodep</artifactId>
      <version>2.2</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <version>${org.eclipse.jetty.version}</version>            
    </dependency>

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-webapp</artifactId>
      <version>${org.eclipse.jetty.version}</version>            
    </dependency>
  </dependencies>
</project>

4.0.0
com.example
弹簧一罐
0.0.1-快照
罐子
UTF-8
2.7.2
3.2.0.1发布
8.1.8.v20121106
org.codehaus.mojo
execmaven插件
1.2.1
JAVA
com.example.App
org.apache.maven.plugins
maven编译器插件
2
1.6
1.6
高级文书主任/资源
src/main/java
**/*.xml
org.hibernate
冬眠核心
4.1.11.最终版本
org.slf4j
slf4j简单
1.6.1
朱尼特
朱尼特
4.10
com.h2数据库
氢
1.2.145
com.google.code.gson
格森
2.2.4
编译
org.apache.cxf
cxf rt前端jaxrs
${org.apache.cxf.version}
javax.inject
javax.inject
1.
com.fasterxml.jackson.jaxrs
jackson jaxrs json提供程序
2.1.1
com.fasterxml.jackson.core
杰克逊核心
2.1.1
cglib
cglibnodep
2.2
org.springframework
弹簧芯
${org.springframework.version}
org.springframework
spring上下文
${org.springframework.version}
org.springframework
弹簧网
${org.springframework.version}
org.eclipse.jetty
jetty服务器
${org.eclipse.jetty.version}
org.eclipse.jetty
jetty网络应用程序
${org.eclipse.jetty.version}

首先检查:类是什么样子的?您是否用
@Entity
对其进行了注释?类路径是否可用?java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener这是一个依赖性问题,您使用的是maven,您可以发布pom还是库?我刚刚添加了我的小pr的pom.xml另外,要小心,这是一个用Java6制作的老项目,所以可能不会有相同版本的库。