如何使用maven构建aspectj项目?

我在Eclipse ide中创建了一个Aspectj项目,但我需要使用maven构建它。

我有maven-aspectj插件但不知道如何使用它。

以下是我为实现这一目标而采取的步骤。 这给了我编译时编织 。 如果您需要其他策略,显然您需要另一种方法(例如Spring AOP用于运行时AOP代理)。

  1. 添加属性以标准化您使用的AspectJ版本:

     1.7.2 ... 
  2. 添加运行时依赖项:

      org.aspectj aspectjrt ${aspectj.version}  
  3. 添加AspectJ Maven插件:

      org.codehaus.mojo aspectj-maven-plugin 1.4    compile test-compile      org.aspectj aspectjrt ${aspectj.version}   org.aspectj aspectjtools ${aspectj.version}    1.7 1.7 true   

我不确定forceAjcCompile是否真的很有意义,但我已经看到了某些方面没有一致应用的情况。 我把这个(现在)归咎于Eclipse覆盖类文件或其他东西,因此forceAjcCompile

我做的其他事情:

  1. 添加src/main/aspects作为额外的源目录( build-helper-maven-plugin插件)。 只是因为它在Eclipse中看起来很好
  2. 为AspectJ插件( lifecycle-mapping插件 )添加一个pluginExecution / pluginExecutionFilter ,并将其设置为executerunOnIncremental ,这样在Eclipse中编码和测试时也会(重新)应用方面(使用m2e)