如何使用maven构建aspectj项目?
我在Eclipse ide中创建了一个Aspectj项目,但我需要使用maven构建它。
我有maven-aspectj插件但不知道如何使用它。
以下是我为实现这一目标而采取的步骤。 这给了我编译时编织 。 如果您需要其他策略,显然您需要另一种方法(例如Spring AOP用于运行时AOP代理)。
-
添加属性以标准化您使用的AspectJ版本:
1.7.2 ... -
添加运行时依赖项:
org.aspectj aspectjrt ${aspectj.version} -
添加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
。
我做的其他事情:
- 添加
src/main/aspects
作为额外的源目录(build-helper-maven-plugin
插件)。 只是因为它在Eclipse中看起来很好 - 为AspectJ插件(
lifecycle-mapping
插件 )添加一个pluginExecution
/pluginExecutionFilter
,并将其设置为execute
和runOnIncremental
,这样在Eclipse中编码和测试时也会(重新)应用方面(使用m2e)