1
我想改变一个类的导入,以便它们指向一个不同的包。 Byte Buddy文档没有提供关于如何实现这一点的更多信息。这是我到目前为止有:如何通过Byte Buddy更改进口?
public class ProxyPlugin implements net.bytebuddy.build.Plugin { public DynamicType.Builder apply(DynamicType.Builder builder, TypeDescription typeDescription) { return builder.name(typeDescription.getPackage().getName() + ".proxy." + typeDescription.getSimpleName()); } public boolean matches(TypeDescription typeDefinitions) { return true; } }
我的目标是改变一些包前缀名,使他们有“.proxy”追加到它们。请注意,我只需要更改方法签名,因为目标是接口。
这是这样做,但请注意,这是使用底层API ASM的正确途径。最后,在字节码中没有像导入这样的东西,你只是用另一种类型替换一种类型。您有责任确保程序的正确性。 –