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