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

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

Spring + Hibernate4統合、およびトランザクションは、Spring AOPによって管理されます。例:

spring-hibernate.xml



    
        
    

    
        
            
            
        
    

    
        
        
    

システムは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を宣言すると、org.aspectjライブラリが自動的に取得されます。

pom.xml

    
        3.2.8.RELEASE
    

    

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

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

    

プロジェクトの依存関係を表示する

#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