社区
J2ME
帖子详情
javassist修改带参数的方法
laigb
2009-09-14 01:41:54
想在class文件中的方法的末尾添加一句代码,其中要使用到这个方法中的参数,例如paint(Graphics g)中的g,就是需要提取的目标,这样才能在这个方法中做其它事情.
目前方法中的Graphics这个是可以得到,但是它的实例就不会了,向各位请教.
另外,还想在这个class文件中申明新的变量,这个又应该如何实现呢?
...全文
587
2
打赏
收藏
javassist修改带参数的方法
想在class文件中的方法的末尾添加一句代码,其中要使用到这个方法中的参数,例如paint(Graphics g)中的g,就是需要提取的目标,这样才能在这个方法中做其它事情. 目前方法中的Graphics这个是可以得到,但是它的实例就不会了,向各位请教. 另外,还想在这个class文件中申明新的变量,这个又应该如何实现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
laigb
2009-09-17
打赏
举报
回复
已经搞定,添加变量还是得靠CtField,然后CtClass.addField(CtField).
laigb
2009-09-14
打赏
举报
回复
我现在只想知道怎么在类中申明一个类的实例了,方法中的参数是通过"$"来表示的,第一个参数即为"$1".
Javassist
使用生成或者
修改
Javassist
使用生成或者
修改
Java动态字节技术之
Javassist
这个示例代码创建了一个名为com.example.MyClass的新类,并在其中添加了一个名为x的整数字段,以及两个访问这个字段的
方法
setX和getX。最后,创建新类的实例,并调用setX
方法
设置x的值为42,再调用getX
方法
获取x的值并输出。这个示例代码创建了一个名为com.example.MyClass的新类,并在其中添加了一个名为hello的公共
方法
,该
方法
接受一个字符串
参数
并输出一条简单的问候语。这表明成功创建了一个新的类,并在运行时动态地添加了一个字段和两个
方法
。
Javassist
:使用-javaagent方式实现
修改
方法
内容(打包和非打包方式执行)
1. 声明 当前内容主要为使用Javassit+(-javaagent)方式实现
修改
方法
体的内容(不
修改
源码的情况下) 当前内容参考:Javassit官方文档,和部分反编译 主要内容: 使用javassit
修改
某个类的某个
方法
,实现执行 打成jar包方式执行 pom依赖 <dependency> <groupId>org.
javassist
</groupId> <artifactId>
javassist
</artifactId> <
使用
javassist
修改
class文件内
方法
使用
javassist
修改
class文件内
方法
在工作突然有一个需求。线上运维的一个tomcat的web项目,运行的程序不正常。需要
修改
代码。可是这个项目代码非常的老,并且公司存储的源代码跟线上的不一致。 我了个擦,没有源代码但是还要结局客户的问题。只能到线上将对应程序的class文件拷贝到本地进行
修改
,每
修改
一部分就上传到线上覆盖掉之前的class文件,重启tomcat进行测试。(过程想当麻烦)
修改
class字节码文件用到 IDEA工具来反编译class进行查看代码,
javassist
工具进行
修改
。
Javassist
给
方法
添加形参,给
方法
添加
参数
给类添加注解 给
方法
添加注解 给注解添加属性 将接口转为类 给
方法
添加
方法
体 添加无参构造 添加有参构造 给接口添加
参数
J2ME
13,100
社区成员
26,495
社区内容
发帖
与我相关
我的任务
J2ME
Java J2ME
复制链接
扫一扫
分享
社区描述
Java J2ME
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章