我必须在运行时更改java中模型类的注释。 该场景在我的网页上,当我更改下拉值并单击“应用”按钮时,我有一个下拉菜单,我必须根据下拉值在我的模型类上添加注释。
为此,我使用 javaassit 在类上添加注释。我认为注释应用正确,但我无法重新加载该类。我尝试使用 HotswapAgent 来做到这一点。但看起来不起作用。
我正在使用play框架
任何帮助将不胜感激。
ClassPool pool= Enhancer.newClassPool();
CtClass cc = pool.get("Test");
ClassFile cf = cc.getClassFile();
ConstPool cp = cf.getConstPool();
// Code for creating and adding annotation comes here.....
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream os = new DataOutputStream(bos);
cf.write(os);
os.close();
ClassDefinition cd = new ClassDefinition(Test.class, bos.toByteArray());
HotswapAgent hh = new HotswapAgent();
hh.reload(cd);
最佳答案
请尝试一下,如果使用相同的类加载器就可以加载它
https://www.baeldung.com/java-reflection-change-annotation-params
关于java - java中的动态注释更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16771043/