Я понимаю цель аннотаций класса, благодаря тому, Как и где Аннотации используются в Java?. Какова цель аннотаций пакета, как описано в этом сообщении в блоге и §7.4.1 Спецификации языка Java?
Почему Вы хотели бы связать метаданные с пакетом? Какие виды вещей Вы могли сделать?
Две причины, о которых я могу подумать:
Я полагаю @deprected
имеет смысл. И, возможно, что-то вроде @generated
, если весь пакет был создан некоторым инструментом из не-Java источника. Или @internal
Если этот пакет не является частью публичного API.
Возможно, инструменты OSGI (где вам нужно объявить версии ваших пакетов, и пакеты, на которых вы зависите от), тоже могут использовать это тоже.
Кто-нибудь видел те, кто в дикой природе?