Advice AspectJ a method call from different Maven project

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Advice AspectJ a method call from different Maven project

ihsanhaikalz
This post has NOT been accepted by the mailing list yet.
I am trying to create an advice of a method of a project (test5) being called from another project (testMaven). I already included the project test5 as dependency in testMaven's pom.xml and set up an advice in testMaven's class but still it doesn't get executed. The calling of the method (dfg) is working just fine.

Here are the code for it:

MainApp.java (testMaven)

    package testMaven;
   
    import test5.yxc;
   
    public class MainApp {
   
    public static void main(String[] args) {
    yxc b = new yxc();
    b.dfg(2);
    }
    }

yxc.java (test5)

    package test5;
   
    public class yxc {
   
    public void dfg(int a){
    System.out.println(a);
   
    }
    }


testAspect.java (testMaven)

    package testMaven;
   
    import org.aspectj.lang.annotation.Aspect;
    import org.aspectj.lang.annotation.Pointcut;
    import org.aspectj.lang.annotation.Before;
    import test5.yxc;
   
    @Aspect
    public class testAspect {
   
        @Before("execution(* test5.yxc.dfg(..))")
    public void testBefore(){
    System.out.println("yooi");
    }
    }

pom.xml(testMaven)

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>testingMaven</groupId>
    <artifactId>testMaven</artifactId>
    <version>0.0.1-SNAPSHOT</version>
   
    <properties>
    <spring.version>4.2.5.RELEASE</spring.version>
    <java.version>1.8</java.version>
   
    <maven.compiler.plugin.version>3.2</maven.compiler.plugin.version>
    </properties>
   
    <dependencies>
    <dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.8.9</version>
    </dependency>
    <dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.8.9</version>
    </dependency>
    <dependency>
    <groupId>test5</groupId>
    <artifactId>test5</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    </dependency>
   
    </dependencies>
   
    <build>
   
    <plugins>
    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.8</version>
    <dependencies>
    <dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjtools</artifactId>
    <version>${aspectj.version}</version>
    </dependency>
    </dependencies>
    </plugin>
    <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>${maven.compiler.plugin.version}</version>
    <configuration>
    <source>${java.version}</source>
    <target>${java.version}</target>
    </configuration>
    </plugin>
   
    </plugins>
    </build>
    </project>

Could you help me what's wrong with this? Thanks.
ps: You could also reply to http://stackoverflow.com/questions/36494410/advice-aspectj-a-method-call-from-different-maven-project
Loading...