Я ищу спецификацию того, что будет, когда Java-класс будет помечен аннотацией, которой нет в пути к классу потребителя. В частности, когда аннотированный класс упакован в виде jar-файла и помещен в другой проект (в терминах Maven «необязательная» или «предоставленная» зависимость содержит аннотацию, и зависимый выбор не зависит от этого).
Я нашел старую ветку ошибок Eclipse, в которой упоминается: https://bugs.eclipse.org/bugs/show_bug.cgi?id=320965
Насколько я понимаю, аннотации должны быть удалены из файла класса, если класс аннотаций отсутствует.
Я наблюдал такое же поведение; то есть класс, кажется, нормально загружается, когда аннотация не найдена, но я не могу найти это нигде. Я использую OpenJDK.
(Для любопытных контекст делает библиотечную зависимость удобной для внедрения без привязки к конкретной структуре DI, поэтому я хотел бы использовать, например, аннотации CDI и аннотации Guice, но потребители, вероятно, не захотят ввести оба набора аннотаций, если они вообще есть)