原文链接:
http://www.mkyong.com/spring/classnotfoundexception-org-aspectj-weaver-reflect-reflectionworldreflectionworldexception/
问题描述:
Hibernate + Springmvc,配置了AOP如下:
<aop:config>
<aop:pointcut id="userDaoPointCut"
expression="execution(* com.mkyong.users.service.*Dao.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="userDaoPointCut" />
</aop:config>
build时报错
ClassNotFoundException: org.aspect.weaver...
caused by: java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:78)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1030)
... 47 more
Caused by: java.lang.ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
... 53 more
原因和解决:
由于缺少
spring-aspects
的jar包,需要在pom.xml中声明:
pom.xml
<properties>
<spring.version>3.2.8.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>