<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-weaver-parent</artifactId>
<version>1.1</version>
</dependency>
import org.apache.commons.weaver.privilizer.Privilizing;
@Privilizing
public class LoggingAspect {
public void before() {
System.out.println("Before method execution");
}
public void after() {
System.out.println("After method execution");
}
}
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.14.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<configuration>
<complianceLevel>1.8</complianceLevel>
<source>1.8</source>
<target>1.8</target>
<aspectLibraries>
<aspectLibrary>
<groupId>org.apache.commons</groupId>
<artifactId>commons-weaver-parent</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
</plugin>
</plugins>
</build>
public class MyApp {
public static void main(String[] args) {
LoggingAspect aspect = new LoggingAspect();
}
}