9

私は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]
4

2 に答える 2

13

おそらく織り込むべきではないサードパーティのクラスを織り込もうとしているようです。

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..*"/>あなたのパッケージへの制限はどこにありますか。

于 2013-09-17T13:54:30.070 に答える
2

以下を依存関係としてファイルに追加しpom.xmlます。

<dependencies>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-tx</artifactId>
         <version>3.2.3.RELEASE</version>
     </dependency>
</dependencies>
于 2013-10-15T16:20:00.830 に答える