我想开始使用Java ASM来转换项目中的类 - 为某些方法添加一个String
参数,并使用此参数发送日志。
在asm website我已阅读
如果要实现类转换器,请编写两个Java源代码 文件(转换前后)并使用比较视图 ASMifier模式下的插件,用于比较等效的ASM代码。
但我觉得使用Java ASM非常困难。有没有可以生成class transformer
的工具?这将非常有用!
答案 0 :(得分:3)
查看ASMifier课程。这可用于生成代码以创建字节代码。 http://asm.ow2.org/doc/tutorial.html
您可能会发现其他工具(如Javassist或BCEL)更容易用于简单任务。
答案 1 :(得分:1)
如果您正在使用Eclipse,则应安装Bytecode Outline - 它调用ASMifier(在另一个答案中由Peter Lawry提及)并提供可以检查每个类或方法的视图。
编辑(从我的评论中复制)
要获得所需的变换器,请按照以下步骤操作:编写示例方法,复制代码以创建它(通过单击带有“ASM”的图标获得),将其源更改为您想要的源转换,复制其输出,将它们放入差异程序(我喜欢并推荐Diffuse)。查看ASM代码中的更改,将其应用于ASM转换器。