2012-04-21 10 views
3

私は、Spring 3.1.1とHibernate 4.0を統合しようとしています。これは私のディスパッチャ-servlet.xmlです:java.lang.NoClassDefFoundError:org/springframework/transaction/interceptor/TransactionInterceptor

<?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:jee="http://www.springframework.org/schema/jee" 
xmlns:lang="http://www.springframework.org/schema/lang" 
xmlns:p="http://www.springframework.org/schema/p" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xmlns:util="http://www.springframework.org/schema/util" 
xmlns:mvc="http://www.springframework.org/schema/mvc" 
xsi:schemaLocation="http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd 
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd 
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd 
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 
<context:component-scan base-package="com.future.controllers" /> 
<context:annotation-config /> 
<context:component-scan base-package="com.future.services.menu" /> 
<context:component-scan base-package="com.future.dao" /> 

    <bean id="dataSource" 
    class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" 
    p:driverClassName="com.mysql.jdbc.Driver" 
    p:url="jdbc:mysql://localhost:3306/bar_visitor2" p:username="root" 
    p:password=""/> 
<bean id="viewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" 
     value="org.springframework.web.servlet.view.JstlView" /> 
    <property name="prefix" value="/WEB-INF/views/" /> 
    <property name="suffix" value=".jsp" /> 
</bean> 
<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="configLocation"> 
     <value>classpath:hibernate.cfg.xml</value> 
    </property> 


</bean> 
<tx:annotation-driven /> 
<bean id="transactionManager" 
    class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean> 

私はエラーjava.lang.NoClassDefFoundError: org/springframework/transaction/interceptor/TransactionInterceptorを取得しています@Transactionalアノテーションを使用しようとします。

クラスパスを確認しましたが、TransactionInterceptor.classがあります。私は間違って何をしていますか?私は何かを追加する必要がありますか?

編集 これは私のlibフォルダです:

あなたは spring-tx-...jarのためにあなたの ランタイムクラスパス(つまり、WEB-INF/libに)を確認(とあなたが1つしかないことを確認する必要があり

enter image description here

+0

CLASSPATHに 'spring-aop * .jar'と' spring-beans * .jar'もありますか? –

+0

私が答えて強調したように、_runtime_クラスパスをチェックする必要があります。コンパイル時のクラスパスを見せてください。 – Bozho

+0

私はdiffernet jarをダウンロードすることでこの問題を解決しました。 – user1137146

答えて

1

そのようなjar、多くのバージョンではない)

+0

私は前にそれをチェックして、それはそれではありません。 – user1137146

+0

例外は、そのことを意味するか、インターセプタを含む複数のjarがあり、クラスローダを混乱させることを意味します – Bozho