2011-08-04 15 views
0

私はちょうど質問を春のxml問題パート2

Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [ http://www.springframework.org/schema/aop]

マイXML:

<?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" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> 

<bean id="audience" class="springaop.Audience"> 
</bean> 

<bean id="sam" class="springaop.Singer"> 
    <property name="id" value="1"></property> 
</bean> 

<aop:config> 
    <aop:aspect ref="audience"> 

     <aop:before pointcut="* springaop.Singer.perform(..)" 
     method="takeSeats"></aop:before> 

    </aop:aspect> 
</aop:config> 

</beans> 

私は春3.1を使用しています。 0.M2

+0

3.0.5.RELEASEをお試しください。 3.1マイルストーンビルドは不安定でバグが多いです。 – skaffman

+0

3.0.5で「クラスパスリソース[aop-conf.xml]からXMLドキュメントを解析中に予期しない例外が発生しました;ネストされた例外はjava.lang.NoClassDefFoundError:org/aopalliance/aop/Advice " –

答えて

1

クラスパスにspring-aopアーティファクトがない場合は、このエラーが発生します。もしあなたが何らかの形でspring-aopクラスを含んでいて、そのjarからMETA-INF/spring.handlersエントリを入手できなければ、それを取得するでしょう。そのファイルはSpringが "名前空間ハンドラ"を見つけ出す方法です。 spring-aop jarのonは、 "http://www.springframework.org/schema/aop"名前空間を処理する方法を春に指示するものです。あなたがこの問題を起こす一つの方法は、いくつかの春のジャーを含む太った瓶を作りようとすることです。 spring.handlersのすべてのファイルを上書きし、他のファイルを上書きし、多くの必須エントリを失うことになります。