可以在编译时操作JVM字节码吗?

Mik*_*aig 5 java bytecode compilation java-bytecode-asm

是否可以在编译时使用像ASM这样的字节码操作库?

具体来说,我想使用Java的注释处理API在带注释的类上实现样板重的方法.实现注释处理器很简单,但运行时似乎.class文件尚不存在Processor.还有另外一种方法吗?

Καr*_*hικ -1

你应该使用 CGLib 来代替。使用 CGLib,您可以添加带有方法拦截器的代理,并让拦截器实现您的样板代码。另一种选择是查看 Javassist。使用 Javassist,您可以使用实际文本(字符串)创建一个新的子类,并让 javassist 将其编译为字节码。