微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用bytebuddy在私有变量中设置注解@Value

如何解决如何使用bytebuddy在私有变量中设置注解@Value

enter image description here

Class<?> metricTags = new ByteBuddy()
                .subclass(Object.class)
                .name("demo.metrics.MetricTags")
                .annotateType(AnnotationDescription.Builder.ofType(Component.class).build())
                .annotateType(AnnotationDescription.Builder.ofType(Data.class).build())
                .defineField("sourceApp",String.class,Visibility.PUBLIC)
                .annotateField(AnnotationDescription.Builder.ofType(Value.class).define("sourceApp","dsdw23").build())
                .defineField("sourceServiceNamespace",Visibility.PRIVATE)
                .defineField("sourceServiceName",Visibility.PRIVATE)
                .defineField("protocol",Visibility.PRIVATE).value("http")
                .defineField("appName",Visibility.PRIVATE)
                .make()
                .load(AgentMain.class.getClassLoader(),ClassLoadingStrategy.Default.WRAPPER)
                .getLoaded();

报告错误: 引起:java.lang.IllegalArgumentException:接口 lombok.Value 没有定义名为 sourceApp 的属性

解决方法

错误表明 Value 注释没有定义 thst name 的属性。您只能定义由注解类型声明的属性。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。