如何解决如何使用bytebuddy在私有变量中设置注解@Value
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 举报,一经查实,本站将立刻删除。