Mojo's AspectJ Maven Plugin

This plugin weaves AspectJ aspects into your classes using the AspectJ compiler ("ajc"). Typically, aspects are used in one of two ways within your Maven reactors:

  • As part of a Single Project, implying aspects and code are defined within the same Maven project. This is the simplest approach to start out with; feel free to examine the "Examples: Single-project AspectJ use" to better understand single-project use.
  • As part of a Multi-module Maven Reactor where one/some project(s) contains aspects and other projects within the Maven reactor contain code using the aspects ("woven by the aspects"). This is a more complex and powerful approach, best suited when several Maven projects should be woven by a common set of aspects. The "Examples: Multi-module AspectJ use" contains a basic walkthrough of this approach.

The AspectJ Maven Plugin delegates most of its work to the AspectJ dependencies included within the plugin. (Refer to http://www.eclipse.org/aspectj/ for descriptions and documentation about AspectJ itself).