我尝试从自定义ClassLoader获取注解,但遇到了一些问题。
ClassPool classPool = ClassPool.getDefault(); Loader cl = new Loader(classPool); c = cl.loadClass(className); c.getAnnotation(Annotation.class)
为null,但c.getAnnotations()不为空。
null
c.getAnnotations()
euoag5mw1#
感谢您提供的所有细节,我无法使用c.getAnnotation(cl.loadClass(Annotation.class.getName())),因为我发送了一个生成的类作为参数,并发送了PowerMock的另一个对象来检索注解,例如element.getAnnotation(classAnnotation.class)。实际上,我的目标是在运行时向已经加载的类添加注解,我无法执行c.toClass(),因为它已经加载。这就是为什么我想创建一个自定义类加载器,其中包含带有新注解的相同对象。多谢了
c.getAnnotation(cl.loadClass(Annotation.class.getName()))
element.getAnnotation(classAnnotation.class)
c.toClass()
1条答案
按热度按时间euoag5mw1#
感谢您提供的所有细节,我无法使用
c.getAnnotation(cl.loadClass(Annotation.class.getName()))
,因为我发送了一个生成的类作为参数,并发送了PowerMock的另一个对象来检索注解,例如element.getAnnotation(classAnnotation.class)
。实际上,我的目标是在运行时向已经加载的类添加注解,我无法执行c.toClass()
,因为它已经加载。这就是为什么我想创建一个自定义类加载器,其中包含带有新注解的相同对象。多谢了