配置exec maven插件以使用AOP';s aspectjweaver(javaagent)

配置exec maven插件以使用AOP';s aspectjweaver(javaagent),maven,maven-3,aop,aspectj,javaagents,Maven,Maven 3,Aop,Aspectj,Javaagents,使用Maven 3.6.3 对于一个简单的Java应用程序,关于AspectJ和JUnit,我有以下依赖项: <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectj.version}&l

使用Maven 3.6.3

对于一个简单的Java应用程序,关于AspectJ和JUnit,我有以下依赖项:

  <dependencies>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${aspectj.version}</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>${aspectj.version}</version>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>
  </dependencies>
要点是:对于
Main
执行,AOP不起作用,因为
maven-surefire-plugin
用于测试。因此,添加了以下插件:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>${exec.maven.plugin.version}</version>
    <configuration>
        <executable>java</executable>
        <mainClass>${main.class}</mainClass>
        <arguments>
            <argument>-javaagent:${settings.localRepository}/org/.../aspectjweaver-${aspectj.version}.jar</argument>
        </arguments>
    </configuration>
</plugin>
它工作得很好,AOP正在按预期工作

完成研究后,必须在
-cp
参数之前添加
-javaagent:pathtothespectjweaverjar.jar
参数

当前问题场景:因此,通过
Main
类及其
(String[]args)
参数,我确认在当前插件配置中,
-javaagent:paththespectjweaverjar.jar
参数是如何解释简单程序参数的

具体如下:

java -cp ./target/classes 
     com.manuel.jordan.Main
     -javaagent:pathtotheaspectjweaverjar.jar <-- how a program argument parameter
java-cp./target/classes
com.manuel.jordan.Main

-javaagent:paththespectjweaverjar.jar Manuel,您有没有可能在GitHub上发布完整的文档?我想自己建立你的项目(或者一个较小的,匿名的,重现问题的版本)。原因可能是各种各样的:没有使用代理参数,加载了代理但没有找到方面,还有一些其他原因。我需要更多的细节并亲自查看,以帮助您解决这个问题。hello@kriegaex请参阅
更新部分。谢谢你的评论谢谢你的更新Manuel。这当然很有帮助,但我真的不想从头开始重新创建整个设置,填充缺少的部分。所以我重复我对MCVE的要求。如果我有一个,你的问题可能已经解决了。
<aspectj>
    <aspects>
        <aspect name="com.manuel.jordan.aop.CalculatorAspect"/>
         <weaver options="-verbose -showWeaveInfo">
            <include within="*"/>
        </weaver>
    </aspects>
</aspectj>
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>${exec.maven.plugin.version}</version>
    <configuration>
        <executable>java</executable>
        <mainClass>${main.class}</mainClass>
        <arguments>
            <argument>-javaagent:${settings.localRepository}/org/.../aspectjweaver-${aspectj.version}.jar</argument>
        </arguments>
    </configuration>
</plugin>
java -javaagent:pathtotheaspectjweaverjar.jar 
     -cp ./target/classes 
     com.manuel.jordan.Main
java -cp ./target/classes 
     com.manuel.jordan.Main
     -javaagent:pathtotheaspectjweaverjar.jar <-- how a program argument parameter