byte-buddy

    1热度

    1回答

    我正在尝试使用Byte Buddy为字段创建setter和getter。 public class Sample { public static void main(String[] args) throws InstantiationException, IllegalAccessException, NoSuchFieldException, SecurityException,

    4热度

    1回答

    如何使用字节好友在字段上创建setter?推荐的语法是什么? 我设法创建一个从外地(我原来的问题here)的吸气剂,但使用defineMethod创建一个setter抛出一个Method Implementation.Context.Default ... is no bean property例外。 建议在this问题中创建setter的方法似乎已过时。 下面是使用字节好友的1.5.4版我的失败

    1热度

    1回答

    我学习字节好友和我试图做到以下几点: 从给定创建一个子类类或接口 然后在子类中替换的方法 注意,子类是在ClassLoader之前其方法的一个(sayHello)被重新定义“加载”。它失败,出现以下错误信息: java.lang.UnsupportedOperationException: class redefinition failed: attempted to add a method

    1热度

    1回答

    我试图重新在威尔的blog post描述的行为,但收到以下异常仪表上试图通过运行它: $ java -javaagent:agent/target/securityfixer-agent-1.0-SNAPSHOT.jar=bootstrap/target/securityfixer-bootstrap-1.0-SNAPSHOT.jar -jar example/target/securi tyf

    2热度

    1回答

    我尝试使用下面的代码重新定义一个类Bar 2种方法: private <T> Class<? extends T> replaceMethodInClass(final Class<T> subclass, final ClassFileLocator classFileLocator, final String methodName) { final Builder<? ex

    1热度

    1回答

    在我的库中,我正在生成客户端提供的接口的实现(使用库中的自定义指令进行注释)。我用MethodDelegation拦截接口的方法,并将其转发到一个库包中定义一个委托类的实例: package library.pkg; class ImplBase { } public class ImplDelegate { final ImplContext context; I

    1热度

    1回答

    我想在运行时生成高效的属性访问器。具体来说,这意味着我生成实现使用ByteBuddy以下接口类: interface PropertyAccess<T> { void set(Object instance, T value); T get(Object instance); } 实现应该是这个样子: class SomeProperty implements Prope

    1热度

    1回答

    是否可以(仅)更改Byte Buddy某些方法的可见性?我有一个私有静态方法的用户类,我需要委托一些调用这些方法,但它目前失败,因为它们是私人的。所以,我想知道是否可以通过添加一个公共修饰符来转换上述方法来重新定义用户类。 为了记录在案,要求目标Java方法没有效果setAccessible(true)方法,如字节巴迪仍然失败,但以下情况除外: java.lang.IllegalStateExce

    1热度

    1回答

    如何使用AgentBuilder将名称与子类匹配? 我可以很容易地匹配类型本身 new AgentBuilder.Default() .type(named("SomeClass")) 然而,有作为匹配的亚型没有这样的事的名字: new AgentBuilder.Default() .type(isSubtypeOf(named("SomeClass"))) 是否可

    2热度

    1回答

    我正在尝试使用ByteBuddy重新定义java.lang包(如String.class或Integer.class)上的类,但没有成功。我的问题是,如果这甚至是可能的? 这是我想在我的Java代理代码: public static void premain(String agentArgs, Instrumentation inst) { new AgentBuilder.Defaul