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

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

Die Integration von Spring + Hibernate4 und die Transaktion werden von Spring AOP verwaltet. Beispiel:

spring-hibernate.xml



    
        
    

    
        
            
            
        
    

    
        
        
    

Das System zeigtClassNotFoundException: 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

Lösung

Um es zu lösen, deklariertspring-aspects, es erhält automatisch dieorg.aspectj Bibliothek.

pom.xml

    
        3.2.8.RELEASE
    

    

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

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

    

Zeigen Sie die Projektabhängigkeit an

#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