我必须实现同样的目标,我发疯似的想弄清楚这一点,幸运的是我能解决它,在这里我告诉你我做了什么:
要将 aspectj-maven-plugin 与 Java 8 一起使用,您需要版本 aspectj-maven-plugin 1.7(请注意,aspectj-maven-plugin 1.6 适用于 Java 7)。
所以,maven 插件配置需要:
<!-- AspectJ configuration -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.7-SNAPSHOT</version>
<configuration>
<complianceLevel>1.8</complianceLevel>
<source>1.8</source>
<target>1.8</target>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
顺便说一下,需要的aspectJ jars是:
<!-- Spring AOP + AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.1</version>
</dependency>
我一直在努力的最重要的事情是您需要手动将 aspectj-maven-plugin 1.7 jar 安装到您的 pom.xml 中,因为这个 jar 还没有在 maven repo 上。
您可以从 Haus Jira 获得它(查看附件部分):
https://jira.codehaus.org/browse/MASPECTJ-131
顺便说一句,一旦您下载它并将其复制到您的存储库中,您需要在相应目录中创建您的自己的 aspectj-maven-plugin-1.7-SNAPSHOT.pom 文件。您可以从 1.6 版复制它,但确保您修改以下内容:
<version>1.7-SNAPSHOT</version>
<properties>
<aspectjVersion>1.8.1</aspectjVersion>
<mavenVersion>2.2.1</mavenVersion>
<changesPluginVersion>2.9</changesPluginVersion>
</properties>
就到这里了,希望对你有所帮助。