Почему файл package-info.java влияет на обработку аннотаций?
Добавление файла package-info.java в проект приводит к тому, что процессоры-аннотации создают разные выходные данные.
Я не понимаю, почему это происходит. Я думаю, что добавление файла package-info.java не должно влиять на мою сборку, потому что он не содержит никаких причудливых вещей (таких как аннотации и т. Д.). Он содержит только простейшее объявление пакета:
package com.example;
Мне удалось создать минимальный проект, чтобы воспроизвести проблему с javac
только. В проекте слишком много кода для публикации здесь в Stackru, поэтому я опубликовал проект на GitLab: включая полный исходный код и очень подробный файл README.
Есть идеи, почему это происходит или в чем причина? Это может быть ошибка Java?
Заметки
- проект использует файл jar
color-1.0-SNAPSHOT.jar
как библиотека, которая:- использует тот же процессор аннотаций
- использует один и тот же пакет (в реальном проекте мы должны использовать одно и то же имя пакета в разных модулях, чтобы использовать java package-scope)
- проблема также может быть воспроизведена в проекте Android с другим процессором аннотации: см. этот вопрос SO