我写了一个AspectJ类,我想通过自动检测来编织
但这没有效果。显示一些错误:
[TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.dispatcher.RequestMap when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.dispatcher.SessionMap when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.util.AttributeMap when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.BooleanUtils when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type ognl.ASTChain when weaving classes [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type ognl.enhance.OrderedReturn when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.util.reflection.ReflectionContextState when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type ognl.Evaluation when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.dispatcher.mapper.ParameterAction when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving classes [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.util.PrefixTrie$Node when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.dispatcher.mapper.DefaultActionMapper$2$1 when weaving classes [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.dispatcher.mapper.DefaultActionMapper$2$2 when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.dispatcher.mapper.DefaultActionMapper$2$3 when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.dispatcher.mapper.DefaultActionMapper$2$4 when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.RequestUtils when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.util.profiling.UtilTimerStack when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.DefaultActionInvocation when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.ActionEventListener when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.UnknownHandler when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.impl.StrutsActionProxy when weaving classes [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.DefaultActionProxy when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.StringEscapeUtils when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.CharSequenceTranslator when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.AggregateTranslator when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.StringEscapeUtils$CsvEscaper when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.StringEscapeUtils$CsvUnescaper when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.LookupTranslator when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.EntityArrays when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.ArrayUtils when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.UnicodeEscaper when weaving classes [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.CodePointTranslator when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.OctalUnescaper when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.UnicodeUnescaper when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.NumericEntityUnescaper when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.commons.lang3.text.translate.NumericEntityUnescaper$OPTION when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.interceptor.ServletRequestAware when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.interceptor.ServletResponseAware when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.interceptor.ParameterAware when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.interceptor.ApplicationAware when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.interceptor.SessionAware when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.interceptor.RequestAware when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.interceptor.PrincipalAware when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.util.ServletContextAware when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.interceptor.MethodFilterInterceptorUtil when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.Preparable when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.interceptor.ScopedModelDriven when weaving classes [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.ModelDriven when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.config.entities.Parameterizable when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.interceptor.ParameterNameAware when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type org.apache.struts2.interceptor.validation.SkipValidation when weaving classes when weaving [Xlint:cantFindType] [TomcatInstrumentableClassLoader@14d659d] error can't determine annotations of missing type org.springframework.transaction.annotation.Transactional when weaving type com.opensymphony.xwork2.util.AnnotationUtils when weaving classes when weaving [Xlint:cantFindType]
看来您正在尝试编织可能不应该编织的3rd Party类。
您可能应该以如下方式限制对包的编织META-INF/aop.xml:
META-INF/aop.xml
<?xml version="1.0"?> <!-- AspectJ load-time weaving config file with Spring aspects. --> <aspectj> <weaver options="-showWeaveInfo"> <include within="com.yourpackage..*"/> </weaver> <aspects> <aspect name="org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect"/> <aspect name="org.springframework.scheduling.aspectj.AnnotationAsyncExecutionAspect"/> <aspect name="org.springframework.transaction.aspectj.AnnotationTransactionAspect"/> <aspect name="org.springframework.cache.aspectj.AnnotationCacheAspect"/> </aspects> </aspectj>
哪里<include within="com.yourpackage..*"/>限制您的包裹。
<include within="com.yourpackage..*"/>