使用intellij调试方面

时间:2015-07-09 01:42:53

标签: java intellij-idea

我正在尝试使用AspectJ并发现intellij似乎没有进入@Around方面。例如:

@Retention(RetentionPolicy.RUNTIME)
public @interface Test{}

@Aspect
public class TestAspect {
    @Around("execution(@aspects.Test * *(..))")
    public void around(ProceedingJoinPoint point) throws Throwable {
        System.out.println("start1");

        point.proceed();

        System.out.println("end");
    }
}

@Data
public class Library {
    @Test
    public void forceError() {
        System.out.println("running");
    }

    private String foo;
}

虽然我可以编译并看到我的评论在单元测试中运行,但我无法调试方面。

我已经尝试了两种方面注释,并使用带有intellij的aspectJ .aj文件来尝试获取Around方面进行调试。

1 个答案:

答案 0 :(得分:0)

我有同样的问题 如果我使用gradle脚本运行主类(运行应用程序插件的任务,即gradle clean build run -x test),我的aspectj应用程序可以工作,但如果我通过右键单击Debug' MyApp.main()调试应用程序' intellij idea的上下文菜单,然后aop将无法工作。

我找到了解决方案:设置 - >构建,执行,部署 - >构建工具 - > Gradle - > Runner - >勾选选项委派IDE构建/运行操作以进行gradle ,然后右键单击intellij idea的上下文菜单的Debug选项并检查结果,尝试调试。

此解决方案仅适用于gradle,我没有尝试使用maven。