注释处理器将为您提供两个TypeElement,一个用于注释对象,另一个用于注释本身。如何在代码生成的注释处理中检索注释的类类型?
我们假设在注解处理期间需要知道注释对象的Class
类型以生成代码。可以用TypeElement.getQualifiedName()来提取合格的名称。但是,任何使用Class.forName(fullyQualifiedName)
的尝试都会抛出ClassNotFoundException
。
这可能意味着该类不在注释处理代码的路径上。是否有可能在注释处理过程中检索这样的类而不必将所有带注释的代码放入处理库的类路径中?
一种解决方法是产生这样的:
Class c = Class.forName("thefullyqualifiedname");
中,而不是生成的代码
和使用C,但它是不干净。
我需要通过生成的代码在结构(即一组)中注册注释的类类型。它必须是自动的。因此,我需要在注释处理过程中以某种方式检索/访问它。 – JVerstry
我想要检索实现注释接口的类,为此目的使用Theres反射,但是这需要Class对象:'getSubTypesOf()'。我还没有找到另一种查找子类型的方法,或者可以在实现的界面中找到注释。 –