天天看點

Spring Aop開發過程中可能出現的異常(通過這些異常可以知道需要什麼Jar包)

出現的問題解決: 

問題1:exception in thread "main" java.lang.noclassdeffounderror: org/apache/commons/logging/logfactory at org.springframework.util.classutils.<clinit>(classutils.java:67)   at org.springframework.core.io.defaultresourceloader.<init>(defaultresourceloader.java:52) at org.springframework.context.support.abstractapplicationcontext.<init>(abstractapplicationcontext.java:184) at org.springframework.context.support.abstractrefreshableapplicationcontext.<init>(abstractrefreshableapplicationcontext.java:80) at org.springframework.context.support.abstractxmlapplicationcontext.<init>(abstractxmlapplicationcontext.java:58)   at 

需要加上:commons-logging.jar log4j-1.2.11.jar 

問題2:exception in thread "main" org.springframework.beans.factory.beandefinitionstoreexception: unexpected exception parsing xml document from class path resource [text.xml]; nested exception is java.lang.noclassdeffounderror: org/aspectj/weaver/reflect/reflectionworld$reflectionworldexception 

caused by: java.lang.noclassdeffounderror: org/aspectj/weaver/reflect/reflectionworld$reflectionworldexception 

    at java.lang.class.forname0(native method) 

需要加上:aspectjweaver.jar 

問題3:exception in thread "main" org.springframework.beans.factory.beancreationexception: error creating bean with name ‘logbean’ defined in class path resource [text.xml]: initialization of bean failed; nested exception is org.springframework.aop.framework.aopconfigexception: cannot proxy target class because cglib2 is not available. add cglib to the classpath or specify proxy interfaces. 

caused by: org.springframework.aop.framework.aopconfigexception: cannot proxy target class because cglib2 is not available. add cglib to the class path or specify proxy interfaces. 

需要加上:cglib-nodep-2.2.jar 

問題4:xception in thread "main" org.springframework.beans.factory.beancreationexception: error creating bean with name ‘logbean’ defined in class path resource [text.xml]: initialization of bean failed; nested exception is java.lang.noclassdeffounderror:org/objectweb/asm/type 

caused by: java.lang.noclassdeffounderror: org/objectweb/asm/type 

    at net.sf.cglib.core.typeutils.parsetype(typeutils.java:180) 

需要加上:asm.jar 

問題5: exception in thread "main" java.lang.illegalargumentexception: warning no match for this type name: performer [xlint:invalidabsolutetypename] 

        at org.aspectj.weaver.tools.pointcutparser.parsepointcutexpression(pointcutparser.java:315) 

        at org.springframework.aop.aspectj.aspectjexpressionpointcut.buildpointcutexpression(aspectjexpressionpointcut.java:197)

        at org.springframework.aop.aspectj.aspectjexpressionpointcut.checkreadytomatch(aspectjexpressionpointcut.java:184)

        at org.springframework.aop.aspectj.aspectjexpressionpointcut.getclassfilter(aspectjexpressionpointcut.java:165)

        at org.springframework.aop.framework.defaultadvisorchainfactory.getinterceptorsanddynamicinterceptionadvice(defaultadvisorchainfactory.java:60)

        at org.springframework.aop.framework.advisedsupport.getinterceptorsanddynamicinterceptionadvice(advisedsupport.java:465)

        at org.springframework.aop.framework.jdkdynamicaopproxy.invoke(jdkdynamicaopproxy.java:190) 

        at $proxy0.perform(unknown source) 

這種問題一般是由execution表達式寫法上的錯誤導緻無法找到比對的類型