2010-09-22 3 views
2

Я пытаюсь преобразовать свой аспект с точки зрения времени во время компиляции.Конфигурация времени компиляции

Поэтому я удалил <context:load-time-weaver/> из моей конфигурации spring и добавил компилятор aspectj к моему pom.xml. Но я не знаю, как конвертировать информацию в META-INF/aop.xml.

У меня есть что-то вроде этого там:

<!DOCTYPE aspectj PUBLIC 
     "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd"> 
<aspectj> 
    <weaver> 
     <!-- only weave classes in this package --> 
    </weaver> 
    <aspects> 
     <!-- use only this aspect for weaving --> 
     <concrete-aspect name="MyAspect_" extends="hu.myAspect"> 
     <pointcut name="pointcut" expression="execution(public * javax.persistence.EntityManager.*(..)) || execution(public * hu..*.create(..))"/> 
     </concrete-aspect> 
    </aspects> 
</aspectj> 

ответ

4

Там нет точного эквивалента в aop.xml в компиляции ткачество, но вы можете настроить AspectJ maven plugin в include and exclude certain aspects как это

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>aspectj-maven-plugin</artifactId> 
    <version>1.3</version> 
    <configuration> 
     <includes> 
      <include>**/TransationAspect.java</include> 
      <include>**/SecurityAspect.aj</include> 
     </includes> 
     <excludes> 
      <exclude>**/logging/*.aj</exclude> 
     </excludes> 
    </configuration> 
    <executions> 
     <execution> 
      <goals> 
       <goal>compile</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
+0

спасибо за ответ, но могу ли я настроить pointcuts? – pihentagy

+0

Я не думаю, что вы можете. Я думаю, вы можете включать/исключать только целые аспекты, а не отдельные точки. Возможно, файл ajdt build def является вариантом (но я не знаю): http://mojo.codehaus.org/aspectj-maven-plugin/compile-mojo.html#ajdtBuildDefFile –

+0

Я считаю, что вам нужно указать baseir - если вы запустите это с аргументом -X, это то, что он вам говорит. В моем случае мне пришлось положить туда $ {basedir}/src/main/java kboom

Смежные вопросы