问题标签 [byte-buddy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Byte Buddy 中的拦截器类可见性
即使我提供了实际实例,Byte Buddy 似乎也只欣赏公共类作为拦截器实现;我经常发现自己想做这样的事情:
然而,这会导致如下异常:
可见性强制执行背后有什么原因吗?
编辑:我仍然遇到麻烦;我得到了一个不同的例外,这是我的代码:
现在的例外是:
编辑2:
如果我将类加载策略更改为 INJECTION 它工作正常
java - Byte Buddy 可以在运行时创建字段和方法注解吗?
我想实现这个 3rd-party 注释以将我的类的字段/属性映射到我的数据库表列。我可以在编译时轻松实现注释(如下面的示例代码所示),但我找不到在运行时执行此操作的方法。(我在运行时使用反射加载库。)
我的问题是如何在运行时加载库时实现相同的映射注释?Byte Buddy 可以为 Android 处理这个吗?
///////////////////////////////////////// ///
java - 从 Byte Buddy 0.7.7 迁移到 1.0.2 时遇到问题
我在测试套件中遇到了一些问题,从 Byte Buddy 0.7.7 迁移到 1.0.2
这是一个简化的示例:
代码MyClass
:
Byte Buddy 0.7.7 没有报告任何错误,但是在 1.0.2 中我得到了类似Cannot resolve type description for test.MyClass$auxiliary$dUGbkato
.
完整日志(来自 AgentBuilder.Listener): http://pastebin.com/ytsQR5bi
请注意,该方法被拦截。
然而,在我的一些测试中,我得到了两倍的拦截量,因为它拦截call
了辅助类的方法。
java - 使用字节伙伴从自定义注释中检索参数
我需要从自定义注释中检索参数并将它们传递给拦截器。例如,
我想在以下拦截器中使用值 id 和 enumpar
那么如何扩展基类以包含注释参数呢?我现在有以下
java - ByteBuddy - 修改加载类的默认值
我正在尝试更改已加载类的方法的返回值。
从 ByteBuddy 的文档(http://bytebuddy.net/#/tutorial)来看,这似乎可以使用 Java 代理,只要我不添加任何字段/方法。
我的代码如下:
但我得到以下异常:
问题是,我没有添加任何方法。Byte Buddy 在上面的代码中在哪里添加了字段或方法?
编辑:
java - 如何向 ByteBuddy 中的类添加字段并在方法拦截器中设置/获取该值
我正在使用 byte-buddy 在 Ignite 之上构建一个 ORM,我们需要向一个类添加一个字段,然后在方法拦截器中访问它。
所以这是一个例子,我在一个类中添加一个字段
而拦截器是这样的
那么如何将新字段的值输入拦截器,以便更改它的值?(字符串值)
提前致谢
android - Byte Buddy 之后会删除 Android 存储中生成的类文件吗?
我注意到 Byte Buddy 在运行时创建的类被写入 data/data 文件夹,但在应用程序关闭后,这些生成的类仍然存在。我们是否必须自己编写代码来删除这些文件,或者 Byte Buddy 有一些 api 来做到这一点?
java - ByteBuddy Pipe.Binder 使用 java 8 函数失败
关于 ByteBuddy 使用带有方法委托的注释的文档Pipe
指出,这java.util.function.Function
是一种适合与Pipe
.
@Pipe 注解没有在 MethodDelegation 中预注册,因为 Java 类库在定义 Function 类型的 Java 8 之前没有提供合适的接口类型。
但是,当我实际使用它时(在 java 8 中),抛出了一个异常,这似乎是由Function
.
这是绑定代码:
看来问题可能在于Pipe.Binder.install
寻找所有非静态的方法。也许它也应该排除默认方法。
此外,我尝试了这个com.google.common.base.Function
并得到了类似的失败,因为它声明了equals
从Object
. Object
因此,在尝试识别要通过的单一方法时,也许也应该排除存在的任何方法。
android - 当前 Dx 的 Byte-Buddy-Android
我目前正在使用byte-buddy、byte-buddy-android和 Android 的dx_1.7库。dx_1.7.jar已过时(2012 年),我想知道是否有人已经构建了一个新的byte-buddy-android.jar与由 more 提供的当前dx.jar(不是dx_1.7.jar)一起使用当前的 Android SDK。我将如何实现这样的目标?