编译期注解处理器 断点 Intellij IDEA mavn

利用Intellij IDEA 和mvnDebug调试注解处理器

目录

利用Intellij IDEA 和mvnDebug调试注解处理器

编写注解处理器(如果已经编写完成请忽略此段)

使用 maven-compiler-plugin 打包(springboot自带的打包在引用注解的时候有问题)

在另外一项目引用刚才打的jar包并使用注解(一定要在另外一个项目中运行注解才可以)

在使用注解的项目 打开刚才打包的源文件,在里面设置断点(一定是源文件不是反编译的文件)

在使用注解项目中 确认是否打开注解处理器,没有打开即可

在使用注解项目中 执行maven命令

​在Intellij IDEA中设置远程执行

​以debug的形式执行即可进入断点


编写注解处理器(如果已经编写完成请忽略此段)

@SupportedAnnotationTypes("sar.utls.anno.BeanToMap")
@SupportedSourceVersion(SourceVersion.RELEASE_8)
@AutoService(Processor.class)
public class BeanToMapProcess extends AbstractProcessor {

    private Messager messager;
    private Filer filer;
    private Elements elements;

    @Override
    public synchronized void init(ProcessingEnvironment processingEnv) {
        super.init(processingEnv);
        messager = processingEnv.getMessager();
        filer = processingEnv.getFiler();
        elements = processingEnv.getElementUtils();
    }

    @Override
    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
        messager.printMessage(Diagnostic.Kind.NOTE,"开始执行注解");
        System.out.println("开始执行");
        return false;
    }
}

使用 maven-compiler-plugin 打包(springboot自带的打包在引用注解的时候有问题)

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

在另外一项目引用刚才打的jar包并使用注解(一定要在另外一个项目中运行注解才可以)

在使用注解的项目 打开刚才打包的源文件,在里面设置断点(一定是源文件不是反编译的文件)

在使用注解项目中 确认是否打开注解处理器,没有打开即可

在使用注解项目中 执行maven命令

mvnDebug clean install

terminal中会输出

在Intellij IDEA中设置远程执行

以debug的形式执行即可进入断点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值