Java 泽西岛+;弹簧&x2B;冬眠

Java 泽西岛+;弹簧&x2B;冬眠,java,spring,hibernate,jersey,Java,Spring,Hibernate,Jersey,我尝试使用Jersey/Spring/Hibernate部署应用程序,每次我尝试部署应用程序时,都会引发以下异常: SEVERE: Context initialization failed java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider; at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGet

我尝试使用Jersey/Spring/Hibernate部署应用程序,每次我尝试部署应用程序时,都会引发以下异常:

    SEVERE: Context initialization failed
java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2570)
at java.lang.Class.getDeclaredFields(Class.java:1903)
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:372)
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMerge
 ...
我的spring配置xml如下所示:

<context:component-scan base-package="intellidom.reader"/>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/intellidom" />
    <property name="username" value="root" />
    <property name="password" value="" />
</bean>

<bean id="sessionFactory"
      class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.connection.pool_size">0</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
        </props>
    </property>
</bean>

<bean id="transactionManager"
      class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

0
真的
org.hibernate.dialogue.mysqldialogue
当sessionFactory和transactionManager被注释时,部署工作正常。此代码中有什么问题

编辑: pom.xml


4.0.0
com.intellidom
智力
战争
1.0-快照
智力
http://maven.apache.org
org.apache.commons
commons-lang3
3
org.hibernate
冬眠核心
4.1.4.最终版本
mysql
mysql连接器java
5.1.30
运行时
org.springframework
弹簧芯
3.0.5.1发布
org.springframework
spring上下文
3.0.5.1发布
org.springframework
弹簧网
3.0.5.1发布
org.springframework
春季甲虫
3.0.5.1发布
泽西岛
泽西服务器
1.8
com.sun.jersey.contribs
泽西之春
1.8
org.springframework
春天
org.springframework
弹簧芯
org.springframework
弹簧网
org.springframework
春豆
org.springframework
spring上下文
智力

Spring3.0.5中不支持Hibernate4。您需要使用Hibernate 3或升级Spring版本。您的pom.xml说您正在使用Hibernate 4,但xml配置是针对Hibernate 3的。 我相信对Hibernate4的支持是在Spring3.1.0中首次引入的。因此,在xml配置文件中将pom.xml更改为使用Hibernate 3和Spring 3.0.5或Hibernate 4,至少使用Spring 3.1.0,并将所有包更改为
hibernate4
,而不是
hibernate3
,例如:
org.springframework.orm.hibernate4.LocalSessionFactoryBean

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.intellidom</groupId>
<artifactId>IntelliDOM</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>IntelliDOM</name>
<url>http://maven.apache.org</url>
<dependencies>

    <!--string parsing-->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.0</version>
    </dependency>

    <!--Hibernate-->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.4.FINAL</version>
    </dependency>

    <!--MySQL-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.30</version>
        <scope>runtime</scope>
    </dependency>

    <!-- Spring 3 dependencies -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <!--Jersey-->
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.8</version>
    </dependency>

    <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-spring</artifactId>
        <version>1.8</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

</dependencies>
<build>
    <finalName>IntelliDOM</finalName>
</build>