Добавить аннотацию к классу из места, отличного от определения класса - PullRequest
0 голосов
/ 13 июля 2020

Мне нужно добавить аннотацию к классу, который находится в определенной зависимости (в отдельной банке) проекта, над которым я работаю. Мне интересно, могу ли я сделать это в Java?

В качестве примера мне нужно добавить аннотацию HisClass, не касаясь исходного кода HisClass.

public class HisClass{
   // ...
}

Итак, во время сборки вышеуказанный класс должен выглядеть так, как показано ниже,

@MyAnnot ( me = MyClass.class )
public class HisClass{
   // ...
}

1 Ответ

0 голосов
/ 13 июля 2020

Есть много способов:

  1. Напишите плагин компилятора для javac и заставьте его добавлять аннотации. Это будет довольно сложно, так как API плагина почти не имеет документации.

2. (Возможно, это невозможно) Вставьте аннотацию после компиляции. Добавьте дополнительный этап сборки после компиляции и используйте такую ​​библиотеку, как ASM, для добавления этой аннотации в файл класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...