https://github.com/mojohaus/aspectj-maven-plugin
https://github.com/mojohaus/aspectj-maven-plugin
java maven maven-plugin mojohaus
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mojohaus/aspectj-maven-plugin
- Owner: mojohaus
- License: mit
- Created: 2015-07-14T08:25:12.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2025-08-26T21:13:05.000Z (10 months ago)
- Last Synced: 2025-08-27T05:58:30.986Z (10 months ago)
- Topics: java, maven, maven-plugin, mojohaus
- Language: Java
- Homepage: https://www.mojohaus.org/aspectj-maven-plugin/
- Size: 2.49 MB
- Stars: 120
- Watchers: 28
- Forks: 73
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Mojohaus AspectJ Maven Plugin
This is the [aspectj-maven-plugin](https://www.mojohaus.org/aspectj-maven-plugin/).
[](https://opensource.org/licenses/MIT)
[](https://search.maven.org/artifact/org.codehaus.mojo/aspectj-maven-plugin)
[](https://github.com/mojohaus/aspectj-maven-plugin/actions/workflows/maven.yml)
## Overview
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 walk-through
of this approach.
## Contributing
The first step is to create [an appropriate issue](https://github.com/mojohaus/aspectj-maven-plugin/issues). Describe the problem/idea you have and create an appropriate pull request.
Test you changes locally using
```shell
mvn clean verify -Pdocs,run-its
```
If you need to contact a committer, please consider getting active [on the mailing lists](https://groups.google.com/forum/#!forum/mojohaus-dev).
## Releasing
* Make sure `gpg-agent` is running.
* Make sure all tests pass `mvn clean verify -Prun-its`
* Execute `mvn -B release:prepare release:perform`
For publishing the site do the following:
```
cd target/checkout
mvn verify site site:stage scm-publish:publish-scm
```