因为项目需要,需要修改jar包中的一个查询sql的语句:
但是没有源码,怎么修改呢?
有的建议将反编译后的代码拷贝一份,创建相同的包路径,然后重新创建java类,编译后覆盖到jar包中。(尝试后不行)
有的建议通过jclasslib bytecode viewer,查看常量的位置,并用代码进行修改。(可行)
后来我发现,直接在idea中下载jclasslib插件,并使用这个插件就可以直接修改jar包中的常量(比如字符串等等),不需要使用代码来操作,操作如下。
1.选中jar包中的class文件,点击下图按钮,打开操作页面
2.在方法中,找到要修改的常量的地址;(注意要找到常量的真实地址,不要把引用给改了)