当前位置:
利用javassist反编译修改.class文件修改注解的内容,并重新打包jar
机器助手 |
76人浏览
接上一篇文章 https://biemo.com/info/400的补充
import javassist.ClassPool;
import javassist.CtClass;
import javassist.bytecode.AnnotationsAttribute;
import javassist.bytecode.annotation.Annotation;
import javassist.bytecode.annotation.StringMemberValue;
import org.springframework.cloud.openfeign.FeignClient;
public class TestTest {
public static void main(String[] args) throws Exception {
ClassPool cp = ClassPool.getDefault();
cp.insertClassPath("D:\\workspace\\untitled1\\ir-service-api-1.1.jar");
CtClass cc = cp.get("com.doinner.ir.service.RemoteIRService");
AnnotationsAttribute attributeInfo = (AnnotationsAttribute) cc.getClassFile().getAttributes().get(1);
Annotation annotation = attributeInfo.getAnnotation(FeignClient.class.getName());
annotation.addMemberValue("value", new StringMemberValue("dy-ir", cc.getClassFile().getConstPool()));
attributeInfo.setAnnotation(annotation);
cc.writeFile("D:\\workspace\\untitled1");
}
}
排名:
经验值
0
文章
0
评论
0
勋章
0
动态
0
粉丝
0
关注
获得勋章:
