2011-08-04 46 views
0

我只是问了一个问题:Spring xml problem 我解决了这个问题,但现在我得到了另一个问题:Spring 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> 

我使用Spring 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告诉spring如何处理“http://www.springframework.org/schema/aop”命名空间。解决这个问题的一种方法是尝试创建一个包括几个弹簧罐的胖罐子。你最终会用其中一个Spring.handlers文件覆盖所有的spring.handlers文件,并丢失许多重要条目。