使用IDEA工具debug java annotation processors

这篇具有很好参考价值的文章主要介绍了使用IDEA工具debug java annotation processors。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近看Spring提供的自动生成spring-configuration-metadata.json文件的组件。组件依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

官网地址: Appendix B. Configuration meta-data

 其核心类实现的是javax.annotation.processing.Processor,想本地调试看下其源码,发现打断点后无法进行断点位置。Google一番如何进行调试。找到如下信息:debug-java-annotation-processors-using-intellij

Debug步骤如下:

1.在IDEA中创建一个Remote JVM Debug

使用IDEA工具debug java annotation processors,SPI,Spring Boot,java,java,intellij-idea,annotation,processor

获取Command line arguments for remote JVM下的参数:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

 2.打开IDEA的terminal终端,使用MAVEN_OPTS设置maven执行时的JVM参数

export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"

3.执行mvn compile命令

mvn compile

看到如下输出信息后,Debug执行步骤1创建的Remote JVM Debug

Listening for transport dt_socket at address: 8000

使用IDEA工具debug java annotation processors,SPI,Spring Boot,java,java,intellij-idea,annotation,processor

 4.Debug执行创建的Remote JVM Debug

使用IDEA工具debug java annotation processors,SPI,Spring Boot,java,java,intellij-idea,annotation,processor

 注意: 如果你的工程已经编译过一次(即项目下存在target目录),可能会出现按照上述步骤操作后依然无法进入断点的情况,此时可以把target目录删除后在重新Debug执行。文章来源地址https://www.toymoban.com/news/detail-576511.html

到了这里,关于使用IDEA工具debug java annotation processors的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java:从spring-core移植的注解(annotation)扫描工具模组common-annotutils(适用JDK 1.7)

    spring-core的部件组装基本原理是基于注解(annotation),通过扫描类、方法、成员上定义的注解来决定组装逻辑。 spring-core将注解扫描框架封装为一个工具类: org.springframework.core.annotation.AnnotationUtils ,使用这个工具类就可以从一个复杂类型或方法中获取指定的注解信息,大概就是这

    2024年04月14日
    浏览(24)
  • Lombok Requires Annotation Processing: Do you want to enable annotation processors? Enable 15:0

    相关背景: 使用 idea 开发项目时, Event Log 控制台 出现以下红色提示信息: Lombok Requires Annotation Processing: Do you want to enable annotation processors? 问题: 使用 idea 开发项目时, Event Log 控制台 出现以下红色提示信息: 根据提示信息分析问题: Lombok Requires Annotation Processing是一个问

    2024年02月04日
    浏览(32)
  • 【java】【已解决】IDEA启动报错:Lombok Requires Annotation Processing

    解决办法: 1、根据异常提示操作: 直接点击错误提示后面的蓝色标识【Enable】(小编点完了所以变灰色),此操作等价于下面的步骤: 【File】--【Settings】--【Build】--【Compiler】--【Annotation Processing】-- 勾选“enable Annotation Processing”  

    2024年02月07日
    浏览(37)
  • 【ETL工具】本地环境IDEA远程DEBUG调试Flume代码

    🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油! 🪁🍁🪁🍁🪁🍁🪁🍁 目录 🦄 个人主页——🎐个人主页 🎐✨🍁 一、问题说明 二、操作步骤 2.1 idea创建远程调试 Flume 自定义 HDFS-Sink,远程服务器进行部署flume打包好后的代码,本地监控远程flume程序

    2024年02月08日
    浏览(29)
  • java: 无法访问org.mybatis.spring.annotation.MapperScan

    springboot与mybatis整合时报如上错误: 参考该篇文章:https://wenku.csdn.net/answer/6jghdrg8j6,解决该问题,之前使用的Mybatis-spring依赖的版本3.0.1太高,将版本改为2.2.2,使用maven重新reload project,再次编译,该问题被解决。

    2024年02月03日
    浏览(29)
  • Error:(3,37) java: 无法访问org.mybatis.spring.annotation.MapperScan

    1.Error:(3,37) java: 无法访问org.mybatis.spring.annotation.MapperScan 编译的时候不通过,原因是我因为版本太高了,我换了个低的版本编译就没问题了 编译成功。 然后现在又遇到了另一个问题 执行run Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.447 s FAILURE! - in com.example.swagger_demo.

    2024年02月07日
    浏览(30)
  • idea的debug断点的使用

    添加断点(目前不知道如何添加断点,就给AutoConfigurationImportSelector的每个方法都加上断点):                  然后将StockApplication启动类以debug方式运行,然后程序就会停在119行 点击上边的step over 让程序往下运行一行(但是因为在isEnabled方法中添加了断点,所以会进入到

    2024年02月11日
    浏览(27)
  • 使用 IDEA 远程 Debug 调试,太实用了!

    有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 远程debug的服务,以springboot微服务为例(springcloud的应该差不多,我没研究过)。首先,启动springboot需要加上特定的参数。 推荐一个开源免费的

    2024年02月12日
    浏览(28)
  • IntelliJ IDEA远程调试:使用IDEA Remote Debug进行高效调试的指南

    在开发分布式系统时,调试是一个重要但复杂的环节。开发者通常需要跨越多个服务、模块和线程来追踪和解决问题。在没有远程调试的情况下,许多开发者会在代码中添加各种日志语句,然后重新部署和上线来调试。这种方法不仅费时,而且可能引入额外的错误或问题。

    2024年02月09日
    浏览(31)
  • dubbo源码阅读之-java spi, dubbo spi 和 Spring spi 到底有啥区别

    SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包