问题描述
是否可以在不重建整个项目的情况下重新运行注释处理器?
我正在开发一个批注处理器,该批注处理器用于从头开始构建需要大约10分钟的项目,而等待10分钟才能测试更改有点痛苦...
解决方法
一般方面
听起来您的注释处理器没有正确的测试方法。
如果始终在集成环境中进行测试,则始终会遇到长时间运行的问题。这适用于任何需要完成繁重任务的测试环境。
因此,我的一般建议是编写轻量级单元测试,以检查您的代码是否按预期工作。这是我可以给您的一般建议。
JOOQ的创建者Lukas Eder的这篇文章https://blog.jooq.org/2018/12/07/how-to-unit-test-your-annotation-processor-using-joor/也使用Java注释处理器,它是关于Java注释处理器的单元测试的。
仅运行注释处理器
Intellij Idea
AFAIK无法执行此操作。
Maven
如果您的项目在maven上运行,则可以通过执行generate-sources
阶段来触发注释处理器。
注释处理器不能在没有编译器的情况下运行。
如果您没有使用Maven或Gradle构建项目,而是使用IDE的构建,请调用Build |。建立项目动作。这样,IDE将执行增量构建,该构建将仅构建更改的类。