一尘不染

为什么方面j无法编织显示Xlint cantFindType

tomcat

我写了一个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]

阅读 467

收藏
2020-06-16

共1个答案

一尘不染

看来您正在尝试编织可能不应该编织的3rd Party类。

您可能应该以如下方式限制对包的编织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..*"/>限制您的包裹。

2020-06-16