使用Byte Buddy添加具有给定值的注释

Kim*_*ble 4 java bytecode byte-buddy

如何使用Byte Buddy添加具有给定值的注释?

我正在为JUnit生成测试类,我想通过注释生成的类@RunWith(SomeRunner.class).

Raf*_*ter 5

您可以在流畅的API中注释一个类:

new ByteBuddy()
  .subclass(Object.class)
  .annotateType(AnnotationDescription.Builder.ofType(RunWith.class)
                                             .define("value", SomeRunner.class)
                                             .build())
  .make();
Run Code Online (Sandbox Code Playgroud)

除此之外,AnnotationDescription.Builder您还可以移交已加载的注释,构建器会自动将其转换为内部描述格式.