实例化使用某些注释注释的类

时间:2017-06-16 14:59:54

标签: java annotations annotation-processing annotation-processor

我希望通过在注释处理器中获取注释,从存在特定注释的Class中获取有关 fields 的信息。

我可以从注释中检索完全限定的类名,但是不能实例化它,虽然类在那里,但是正在抛出ClassNotFoundException

如何检查类是否不在类路径中或者注释处理器包含哪个类路径?

try {
                Class<?> clazz = Class.forName(((TypeElement) e).getQualifiedName().toString());
            } catch (ClassNotFoundException cnfe) {
                cnfe.printStackTrace();
            }

1 个答案:

答案 0 :(得分:1)

您在代码中尝试做的事情是不可能的,因为在程序完全编译之前会进行注释处理。这就是你工作的原因,例如<{1}}对象而不是TypeElement,因为该类尚未编译。

另一方面,如果您只想查看存在哪些字段,you can use the Element API for that,例如:

Class