当前位置: 首页 > 知识库问答 >
问题:

获取内部和注释处理器中TypeElement的类名

杨慎之
2023-03-14

我正在编写一个在javac中运行的注释处理器。它扫描带注释的类并生成包含类名的资源文件。这些名称将在运行时使用,以便能够获得

如何获取类名(例如pgk1.pkg2.Foo$Bar)来自javax.lang.model.element.TypeElement

提示:我既不需要简单的名字(例如。bar),也没有限定名称(例如pgk1.pkg2.福。酒吧)。


共有1个答案

百里京
2023-03-14

注释处理器由编译器初始化,并接收一个ProcessingUNEP实例。

方法Name ProcessingEnvironment.getElementUtils(). getBinaryName(TypeElement)返回一个二进制名称,可用于稍后实例化类。

 类似资料:
  • 使用Java注释处理器,我有以下类型: 并且: 我有的为: 现在我想获取类型参数<code>的TypeElement 我试过了: 当我打印时,我得到而不是。 如何从TypeParameter中获取真正的StartPagePresenter?

  • 问题内容: 我正在编写我的第一个注释处理器,但遇到一些琐碎的问题,但找不到任何有关它的信息。 我有一个带有注释的元素 当我将此属性作为处理器中的元素获取时,我似乎无法以任何方式获取元素的类型。在这种情况下,可能要获取代表String的Class或TypeElement实例。 我尝试使用实例化容器类型的类对象,但它引发了ClassNotFoundException。我认为这是因为我无法访问包含该类的

  • 问题内容: 我有一个名为@Pojo的自定义注释,可用于自动生成Wiki文档: 我这样使用它: 注释资源方法,以便注释处理器可以自动生成描述所需资源和类型的Wiki页面。 我需要在注释处理器中读取该字段的值,但出现运行时错误。 在我的处理器的源代码中,我有以下几行: 但实际的类不适用于处理器。我认为我需要一个替代品来代替实际课程。我不确定该怎么买。 我得到的错误是: 该是我的一个提到的一类注释。 不

  • 我正在使用注释处理器来处理方法参数的注释。 用于参数的注释类型有一个注释@参数 现在,当注释处理器运行时,我想检查参数注释()是否有参数注释。我通过执行以下代码来实现这一点。 由于某种原因,arg始终为空。是否有注释未返回的原因?

  • 我有下面的课程。两个注释(AnnotA和AnnotB),一个类的子类。java'(带@AnnotA)及其“父”基。java'(带有@AnnotB)。 编译子对象时。java,我的注释处理器报告AnnotA,但它不报告在Base中找到的注释(AnnotB)。JAVA 安诺塔。JAVA 阿诺特。JAVA 基础JAVA 小孩JAVA MyProc。JAVA 这是编译过程及其输出,正如您所看到的,没有关于

  • 问题内容: 我正在为Eclipse构建注释处理器插件,我想做的是在处理过程中检查项目文件夹中的几个文件。 我想知道如何从处理器中获取项目路径。我相信可以这样做,因为项目源路径已提供给处理器-但我找不到找到它的方法。 我尝试查看System.properties和processingEnv.getOptions(),但那里没有有用的信息。 最终,我也想在Netbeans上使用此注释处理器,因此,如果