ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld $ ReflectionWorldException

ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld $ ReflectionWorldException

L'intégration Spring + Hibernate4 et les transactions sont gérées par Spring AOP, par exemple:

spring-hibernate.xml



    
        
    

    
        
            
            
        
    

    
        
        
    

Le système afficheClassNotFoundException: 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

Solution

Pour le résoudre, déclarespring-aspects, il récupérera automatiquement la bibliothèqueorg.aspectj.

pom.xml

    
        3.2.8.RELEASE
    

    

        
            org.springframework
            spring-aspects
            ${spring.version}
        

        
            org.springframework
            spring-orm
            ${spring.version}
        

    

Afficher la dépendance du projet

#project> mvn dependency:tree
[INFO] Scanning for projects...
[INFO]

[INFO] +- org.springframework:spring-aspects:jar:3.2.8.RELEASE:compile
[INFO] |  \- org.aspectj:aspectjweaver:jar:1.7.4:compile

[INFO] +- org.springframework:spring-orm:jar:3.2.8.RELEASE:compile
[INFO] |  +- org.springframework:spring-jdbc:jar:3.2.8.RELEASE:compile
[INFO] |  \- org.springframework:spring-tx:jar:3.2.8.RELEASE:compile