使用 Intellij 和 Maven 调试 Java 注释处理器
我正在尝试学习如何创建自定义注释处理器,但我被困在尝试调试它。
我已经设法在调试模式下运行javac编译器(使用mvnDebug全新安装)(使用带有注释处理器的其他人的项目),使用IntelliJ IDEA连接到它,并让它在注释处理器中的断点处停止。
如果我们在项目中的某个包中有这样的东西,就像任何其他类一样(例如,没有特殊配置或任何东西):
public class MyProcessor extends AbstractProcessor {...}
我们能否以某种方式将其与 maven 作为注释处理器的构建过程挂钩?因此,首先编译它,然后在注释处理器处于活动状态的情况下编译整个项目。
另外,据我所知,注释处理器需要某种 META INF 文件,该文件可以使用 Google Autoservices 注释处理器之类的东西生成。
因此,也许是一个maven构建过程,首先运行自动服务,然后扩展抽象处理器的类编译为注释处理器,最后使用我们自己的注释处理器(以及调试模式下的javac编译器)编译整个项目。