【发布时间】:2019-06-27 05:00:21
【问题描述】:
我正在尝试动态创建一个扩展类 ServerPing 的类,在这个类中有一个名为 Serializer 的静态类,我想重写它的方法“a”并返回我自己的 JsonElement。 问题是我不知道如何使用 bytebuddy 在另一个类中编辑静态类。
这是它的样子(但 defineClassInside 不存在):
Class<?> serverPingSerializerClone = new ByteBuddy()
.subclass(serverPingClass)
.defineClassInside("Serializer",
new ByteBuddy().subclass(ServerPing.Serializer.class)
.method(ElementMatchers.named("a")
.and(ElementMatchers.returns(JsonElement.class)
.and(ElementMatchers.takesArguments(3))))
.intercept(FixedValue.value(exampleResponse))
.make())
.make()
.load(Core.class.getClassLoader(), ClassLoadingStrategy.Default.WRAPPER).getLoaded();```
【问题讨论】:
标签: java reflection byte-buddy