Как вывести или записать измененный java .lang.Class, используя отражение в файл? - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь обновить значение аннотации метода в файле java во время выполнения. Я могу обновить значение и, наконец, я получил изменения. Но не знаю, как записать обновленный исходный код в файл. Я предполагаю, что все изменения присутствуют в forName . Поэтому, пожалуйста, дайте мне знать любое решение, чтобы записать измененный исходный код java в файл.

try {
    Class<?> forName = Class.forName("test.SortJsonContent");
    Method[] methods = forName.getDeclaredMethods();
    for (Method method : methods) {                
        method.setAccessible(true);
        if (method.isAnnotationPresent(AnnoTest.class)) {
            AnnoTest anno = method.getAnnotation(AnnoTest.class);
            changeAnnotationValue(anno, "test", "new val");                    
        }
    }
} catch (Exception e) {
    System.err.println("error"+ e);
}
...