注释处理器将为您提供两个TypeElement,一个用于注释对象,一个用于注释本身。
假设Class
在注释处理期间需要知道被注释对象的类型以生成代码。可以使用TypeElement.getQualifiedName()提取限定名称。但是,任何尝试使用都会Class.forName(fullyQualifiedName)
抛出ClassNotFoundException
.
这可能意味着该类不在注释处理代码的路径上。是否有可能在注释处理期间检索这样的类,而不必将所有带注释的代码放在处理库的类路径中?
一种解决方法是生成如下内容:
Class c = Class.forName("thefullyqualifiedname");
并在生成的代码中使用 c ,但它并不干净。