我正在尝试使用spring AOP框架。编译时没有错误。 当我试图运行它时,我得到了上述异常。我正在使用netbeans IDE 8.0.1。 我包含了以下库和jar文件。
1) Spring Framework 4.0.1
2) aspectjrt.jar
3) aspectjweaver.jar
4) aopalliance-alpha1.jar
5) asm-5.03.jar
6) cglib-3.1.jar
这是我的spring.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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
">
<aop:aspectj-autoproxy/>
<bean name="triangle" class="springaop.Triangle">
<property name="name" value="My Triangle" />
</bean>
<bean name="circle" class="springaop.Circle">
<property name="name" value="My Circle" />
</bean>
<bean name="shapeService" class="springaop.ShapeService" autowire="byName" >
</bean>
<bean name="loginAspect" class="springaop.LoginAspect" />
</beans>
这些是每个发布商提供的最新jar文件。 我没有在aopalliance jar中的任何地方看到Advice类。我搜索了这个问题。似乎Advice类可能已从aopalliance jar中删除。我一直无法搜索它。有没有人知道如何解决这个问题,除了告诉我使用Maven :)?
答案 0 :(得分:8)
我不知道aopalliance-alpha1
是什么。您需要aopalliance
版本1.0。你可以得到它here。 (如果您不使用Maven,请下载JAR。)
答案 1 :(得分:1)
我遇到了与添加aopalliance-alpha1.jar而不是aopalliance.jar相同的错误。我添加了正确的jar,它开始工作了。
答案 2 :(得分:-2)
我的日食环境也出现了同样的错误。
原因:为了处理spring aop示例,我从网上下载了文件'aopalliance-.jar.zip','aspectj-1.6.9.jar.zip','aspectjrt.jar.zip','aspectj -weaver.jar.zip'并将其直接包含在java构建路径中。我在这里犯的错误是我没有从zip文件中提取jar文件,而是直接将.jar.zip文件添加到java构建路径中。
修复:从上面提到的.jar.zip文件中提取jar文件,在eclipse中提取jar文件而不是zip文件,然后它就会开始工作。