私は、appengine-maven-plugin によって行われる datanucleus 拡張機能と一緒に、aspectj-maven-plugin を使用しています。appengine-maven-plugin の前に aspectj-maven-plugin を定義すると、すべて問題ないように見えますが、aspectj-maven-plugin の前に appengine-maven-plugin を定義すると、aspectj-maven-plugin がクラス拡張をオーバーライドするようですappengine-maven-plugin によって実行されます。
もちろん、appengine-maven-plugin の前に aspectj-maven-plugin を定義することもできますが、この問題を解決するためのより洗練された方法があるのだろうか?
これは私の構成です:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
</aspectLibraries>
<outxml>true</outxml>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${org.aspectj.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>${com.google.appengine.version}</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>