我在网上找到的所有引用都说字节码可以在运行时修改,但我似乎没有找到修改后的字节码是否可以取代原始字节码。
这样原始字节码可以替换一次,其余时间使用后面的增强。
答案 0 :(得分:3)
是的,它被称为build-time
字节码检测; javassist
以及aspectj
等库支持此模型。
我使用aspectj-maven-plugin与Apache Maven
结合后,我对后者有很好的经验。
[编辑] 另请参阅Implementing Build-time Bytecode Instrumentation With Javassist文章。