我必须在运行时更改java中模型类的注释。场景是在我的网页上,我有一个下拉菜单,当我改变下拉菜单的值,点击应用按钮,我必须把注释放在我的模型类基于下拉菜单的值。
为此,我使用javaassit在类上添加注释。我认为注释应用正确,但我无法重新加载类。我已经尝试过使用HotswapAgent。
我正在使用play framework
任何帮助都将是非常感激的。
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