Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 在Jboss7中配置hibernate 3_Maven_Spring Mvc_Jboss7.x_Hibernate3 - Fatal编程技术网

Maven 在Jboss7中配置hibernate 3

Maven 在Jboss7中配置hibernate 3,maven,spring-mvc,jboss7.x,hibernate3,Maven,Spring Mvc,Jboss7.x,Hibernate3,我正在尝试设置一个SpringMVC+HibernateWAR,以便部署到JBoss7.1.1最终版。我的应用程序使用Hibernate 3.6.1&到目前为止,我的理解是Hibernate 4与AS打包在一起,是默认的持久性提供程序。我没有使用persistent.xml文件配置 我已经完成了在JBoss中设置Hibernate3所需的所有步骤 转到AS安装并更改为modules/org文件夹 已为插槽3创建文件夹以容纳Hibernate 3 将Hibernate3 JAR复制到这个新的AS/

我正在尝试设置一个SpringMVC+HibernateWAR,以便部署到JBoss7.1.1最终版。我的应用程序使用Hibernate 3.6.1&到目前为止,我的理解是Hibernate 4与AS打包在一起,是默认的持久性提供程序。我没有使用persistent.xml文件配置

我已经完成了在JBoss中设置Hibernate3所需的所有步骤

  • 转到AS安装并更改为modules/org文件夹
  • 已为插槽3创建文件夹以容纳Hibernate 3
  • 将Hibernate3 JAR复制到这个新的AS/modules/org/hibernate/3文件夹中 (hibernate3-core.jar、hibernate3-commons-annotations.jar、hibernate3-entitymanager.jar、dom4j.jar、slf4j.jar、slf4j-api.jar、commons-collections.jar、antlr.jar以及Hibernate 3所需的任何其他jar)
  • 创建了包含以下内容的AS/modules/org/hibernate/3/module.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.0" name="org.hibernate" slot="3">
        <resources>
            <resource-root path="hibernate3-core.jar"/>
            <resource-root path="hibernate3-commons-annotations.jar"/>
            <resource-root path="hibernate3-entitymanager.jar"/>
            <resource-root path="javassist-3.12.0.GA.jar"/>
            <resource-root path="antlr-2.7.6.jar"/>  
            <resource-root path="commons-collections-3.1.jar"/>  
            <resource-root path="dom4j-1.6.1.jar"/>  
            <!-- Insert other Hibernate 3 jars to be used here -->
        </resources>
    
        <dependencies>
            <module name="org.jboss.as.jpa.hibernate" slot="3"/>
            <module name="asm.asm"/>
            <module name="javax.api"/>
            <module name="javax.persistence.api"/>
            <module name="javax.transaction.api"/>
            <module name="javax.validation.api"/>
            <module name="org.apache.ant"/>
            <module name="org.infinispan"/>
            <module name="org.javassist"/>
            <module name="org.slf4j"/>
        </dependencies>
    </module>
    

    由于您得到了java.lang.NoClassDefFoundError(而不是ClassNotFoundException),这可能是某种类加载问题

    尝试添加hibernate entitymanager依赖项以解决您的问题

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
        <exclusions>
            <exclusion>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
            </exclusion>
            <exclusion>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
    
    org.hibernate
    休眠实体管理器
    ${hibernate.version}
    cglib
    cglib
    dom4j
    dom4j
    
      <jpa:repositories base-package="com.gea.dvr.repository" />
       <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
                     p:dataSource-ref="dataSource"
                     p:configLocation="${hibernate.config}"
                     p:packagesToScan="com.iana.dver"/>
    
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"
                    p:driverClass="${app.jdbc.driverClassName}"
                    p:jdbcUrl="${app.jdbc.url}"
                    p:user="${app.jdbc.username}"
                    p:password="${app.jdbc.password}"
                    p:idleConnectionTestPeriod="30"
                    p:maxPoolSize="100"
                    p:maxStatements="50"
                    p:minPoolSize="10" 
                    p:maxIdleTime="60" />
    
        <!-- Declare a transaction manager-->
        <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" 
                    p:sessionFactory-ref="sessionFactory" />                    
    
      <!-- Specify our ORM vendor -->
      <bean id="hibernateVendor" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" 
                  p:showSql="false"/>
    
    <hibernate-configuration>
      <session-factory name="sessionFactory">
        <!-- We're using MySQL database so the dialect needs to MySQL as well-->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <!-- Enable this to see the SQL statements in the logs-->
        <property name="show_sql">false</property>
        <!-- This will drop our existing database and re-create a new one.
                Existing data will be deleted! -->
        <!--  <property name="hbm2ddl.auto">update</property>-->
    
        <mapping class="com.gea.dvr.domain.DvrUserType"/>
        <mapping class="com.gea.dvr.domain.DvrUsers"/>
        <mapping class="com.gea.dvr.domain.DvrConfig"/>
        <mapping class="com.gea.dvr.domain.DvrDetail"/>
        <mapping class="com.gea.dvr.domain.DvrFiles"/>
        <mapping class="com.gea.dvr.domain.DvrNotif"/>
        <mapping class="com.gea.dvr.domain.UserLogin"/>
      </session-factory>
    </hibernate-configuration>
    
    11:03:14,597 ERROR [org.springframework.web.context.ContextLoader] (MSC service thread 1-3) Context initialization failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateVendor' defined in ServletContext resource [/WEB-INF/hibernate-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/ejb/HibernatePersistence
    
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
        <exclusions>
            <exclusion>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
            </exclusion>
            <exclusion>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
            </exclusion>
        </exclusions>
    </dependency>