Java 从注释处理器读取字节码

Java 从注释处理器读取字节码,java,annotations,instrumentation,Java,Annotations,Instrumentation,可能重复: 编辑-这似乎是一个复制品 我想实现一个工具,与工具一起使用,在将类编译为字节码后将调用该工具,该工具可以读取和修改字节码 这样做的原因是我想将带注释的方法翻译成另一种语言,并用调用翻译版本的存根替换java方法 但是,接口只提供生成新类的方法,而不提供读回上一轮生成的类文件的方法 检测API做了一些类似于我想要的事情,但只是在运行时。我正在寻找一种在编译时执行此操作的方法。 相关的: 当我想在编译器中进行一些操作时,我看了一下,但最终使用了后处理器 您可以使用APT操作抽象语法

可能重复:

编辑-这似乎是一个复制品


我想实现一个
工具,与
工具一起使用,在将类编译为字节码后将调用该工具,该工具可以读取和修改字节码

这样做的原因是我想将带注释的方法翻译成另一种语言,并用调用翻译版本的存根替换java方法

但是,
接口只提供生成新类的方法,而不提供读回上一轮生成的类文件的方法

检测API做了一些类似于我想要的事情,但只是在运行时。我正在寻找一种在编译时执行此操作的方法。

  • 相关的:
当我想在编译器中进行一些操作时,我看了一下,但最终使用了后处理器

您可以使用APT操作抽象语法树(AST),但只能使用特定于编译器的技巧。如果您想要一个这样做的示例,可以使用Sun
javac
和Eclipse编译器。目前,似乎没有更好的方法。

  • 相关的:
当我想在编译器中进行一些操作时,我看了一下,但最终使用了后处理器


您可以使用APT操作抽象语法树(AST),但只能使用特定于编译器的技巧。如果您想要一个这样做的示例,可以使用Sun
javac
和Eclipse编译器。目前,似乎没有更好的方法。

不仅是相关的,而且是重复的。谢谢你的链接。不只是相关的,而是一个傻瓜。谢谢你的链接。根据要求关闭。不删除,因为标题是描述性的,将导致更多的人找到原件。根据要求关闭。不删除,因为标题是描述性的,会让更多的人找到原文。