我需要在maven项目中使用aspectj。我为eclipse(m2e)安装了maven插件,maven aspectj插件以及Eclipse的AJDT。所以现在,当我打开一个新项目时,我有“Maven项目”和“AspectJ项目”。我怎样才能创建一个Maven AspectJ项目的新项目? 我没有找到任何参考,所以你是我唯一的希望。 感谢
答案 0 :(得分:28)
资料来源:http://blog.springsource.com/2011/10/18/upgrading-maven-integration-for-springsource-tool-suite-2-8-0/#comment-207264(Andrew Eisenberg)
答案 1 :(得分:6)
您应该将maven-aspectj-plugin添加到pom.xml中的build plugins部分,如下所示:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<!-- use this goal to weave all your main classes -->
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<complianceLevel>1.6</complianceLevel>
</configuration>
</plugin>
答案 2 :(得分:3)
检查m2eclipse的AJDT项目配置器
m2eclipse-AJDT插件检测到pom.xml
包含aspectj-maven-plugin
并在eclipse中导入项目时自动将相关的AJDT
性质和配置添加到项目中。
我认为有一些努力可以使插件与m2eclipse的0.12版本一起工作,不知道它是否有效。
我已经尝试使用m2eclipse 0.10插件,但效果很好。
见GitHub m2eclipse-ajdt project
见Move AJDT integration out of main m2e source tree
答案 3 :(得分:2)
答案 4 :(得分:1)
在maven pom.xml
中添加AspectJ支持后,您必须在eclipse中将相关的项目构面添加到项目配置中。
答案 5 :(得分:0)
如果您的pom.xml中有AspectJ-Maven-plugin,您将得到一个缺少的m2e连接器:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.11</version>
<configuration>
<includes>
<include>**/*aj</include>
<include>**/*java</include>
</includes>
<Xlint>ignore</Xlint>
<source>1.8</source>
<target>1.8</target>
<complianceLevel>1.8</complianceLevel>
<showWeaveInfo>true</showWeaveInfo>
<weaveDependencies>
<weaveDependency>
<groupId>org.perf4j</groupId>
<artifactId>perf4j</artifactId>
<classifier>log4jonly</classifier>
</weaveDependency>
</weaveDependencies>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
我不得不在eclipse中安装m2e AJDT maven插件配置器,但是起初因为我缺少依赖项而无法使用。
因此,要开始安装该站点上可用的AJDT工具:http://download.eclipse.org/tools/ajdt/48/dev/update/
重新启动eclipse,然后应该可以安装m2e AJDT maven插件配置器。重新启动后,您应该可以使用eclipse来构建Aspectj类。