怎么在开发工具中调试 Annotation Processor

前文 《利用 Annotation Processor 自动生成 Java 类》介绍了编写自己的 Annotation Processor 来生成 Java 类的方法,也说明了其它项目中如何应用该 Processor,但好像漏了一处:Processor 类写好后,怎么对它们进行调试 ?

一般的调试代码,在 IDE 中右键 debug 就差不多了,但因为 Annotation Processor 是编译好后,由别的模块引用并在别的模块编译过程中才会运行,和常规开发有区别。所以,今天我们谈谈,在编译过程中怎么调试 Processor 代码

鉴于大家一般使用 Intellij IDEA + Maven 进行开发,这里就用它们来介绍调试方法。


是要分情况的:

情况一、如果你的项目是一个多模块的 Maven 项目,你写的 Annotation Processor 是其中一个模块,而用到该 Processor 的是另一个模块,则:

在 IDE 的 Maven 面板中,在根项目中右键 compile ,选择 debug 即可。如下图:

怎么在开发工具中调试 Annotation Processor

情况二、项目用的 Annotation Processor 是不属于该项目的一个独立的 maven 模块,项目中只是引用了该 Processor 模块的 Jar 包

这种情况比较复杂,却是常见的情况(因为我们平时用的都是别人写好的 Processor)。我用的调试方法如下:

首先,给你的 Processor 打上断点。

然后,在项目根目录下执行 mvndebug compile (注意是在终端上执行) ,会看到如下输出:

$annotations git:(master) ✗ mvndebug compile
Preparing to execute Maven in debug mode
Listening for transport dt_socket at address: 8000

注意最后一行出现的 8000 端口,它是远程调试的监听端口。

接着,打开 IDE 的 debug 配置窗口,按如下步骤操作:

怎么在开发工具中调试 Annotation Processor

这么做的目的,是创建一个远程调试。在新的调试配置窗口中配置如下信息:

怎么在开发工具中调试 Annotation Processor

保存该配置后,点 IDE 右上角的 DEBUG 图标开始调试:

怎么在开发工具中调试 Annotation Processor

如下图,断点生效了:

怎么在开发工具中调试 Annotation Processor

另外,IntelliJ IDEA 的远程调试功能非常有用,有时线上服务出现莫名其妙的问题时,用它连接远程的服务进行调试,常常解燃眉之急。

– END –


原文始发于微信公众号(背井):怎么在开发工具中调试 Annotation Processor

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/246701.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!