4

什么会在运行时导致此问题?:

匹配的通配符是严格的,但找不到元素“aop:config”的声明

这是相关的 Spring XML:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:util="http://www.springframework.org/schema/util"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
       http://www.springframework.org/schema/util
       http://www.springframework.org/schema/util/spring-util-2.0.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
    .
    .
    .
    <aop:config>
        <aop:advisor pointcut="execution(* acme.exam.driver.ui.components..*(..))" 
                     advice-ref="loggingInterceptor" />
    </aop:config>

    <bean id="loggingInterceptor" 
          class="org.springframework.aop.interceptor.CustomizableTraceInterceptor">
        <property name="enterMessage" 
                  value="ENTER: $[targetClassShortName].$[methodName]($[arguments])" />
        <property name="exitMessage" 
                  value="EXIT: $[targetClassShortName].$[methodName]($[arguments]) = $[returnValue])" />
    </bean>
</beans>

请注意,我已经将aspectjweaver.jaraspectjrt.jar放在类路径中。

4

3 回答 3

2

您是否仔细检查了 classpath 上的 spring aop 工件?

而且根据我的maven依赖,aspectjweaver是不够的,我还需要aspectjrt。

于 2009-05-18T16:38:52.413 回答
0

确保它<spring-framework-directory>/dist/modules/spring-aop.jar在你的类路径中。

于 2009-05-18T18:23:03.890 回答
0

对于其他任何人,我在我的配置中解决了这个错误,其中命名空间包含该项目

xmlns:aop="http://www.springframework.org/schema/aop

虽然没有包含xsi:schemaLocation元素

http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd

此配置错误导致出现上述消息。
添加 schemaLocation 元素解决了它。

于 2016-05-10T14:07:00.917 回答