Tag: annotation processing

从Java Annotation Processor访问源代码

我试图从Java Annotation Processor中访问类型的实际原始源代码。 这有可能吗? 谢谢!

指定注释处理器的顺序

我正在尝试在我的Java项目上运行Dagger 2和Lombok。 当然,龙目岛必须首先运行,但实际上它是否真的有机会。 起初我怀疑我可以通过类路径中库jar的相应位置来指定顺序,但是该顺序显然会被忽略。 有没有办法指定它们以某种方式运行的顺序,或者我只是不得不忍受不能组合两个AP? 我制作了一个SSCCE测试用例 。 一个简单的git clone & mvn compile足以certificate这个问题 – 如果你在App.java中注释第18行并取消注释第20-21行,它就会编译,即使第18行中的Lombok表示法创建了一个相同的构造函数。 问题是龙目岛似乎追随Dagger。

什么是默认注释处理器发现过程?

Maven Compiler插件的文档提到了以下内容 : annotationProcessors: 要运行的注释处理器的名称。 仅适用于JDK 1.6+如果未设置,则应用默认注释处理器发现过程。 这里的默认注释处理器发现过程是什么? 有没有其他方法来设置注释处理器而不是此配置标签? 我发现注释处理工具入门(apt)文档提到了一个默认的发现过程 ,但是它适用于工厂类而不是处理器,不幸的是它使用了tools.jar和com.sun包。 这是默认的注释处理器发现过程吗?