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

Adding annotation with a given value using Byte Buddy

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

我正在尝试为 JUnit 生成测试 classes,我想用 @RunWith(SomeRunner.class) 注释生成的 class。

你可以在流利的API中注释一个class:

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

或者AnnotationDescription.Builder你也可以提交一个加载的注释,构建器会自动将其转换为内部描述格式。