Я работаю над проектом с несколькими модулями maven, в котором один из модулей содержит несколько обработчиков аннотаций для пользовательских аннотаций, используемых другими модулями. Когда я добавляю зависимость модуля процессора аннотации к любому другому модулю, аннотации этих модулей обрабатываются этими обработчиками аннотаций.Использование пользовательских обработчиков аннотаций рядом с Checker Framework
Но недавно я включил Checker Framework (для аннотаций типа), а затем все пользовательские обработчики аннотации (я упоминал выше) перестали работать. Приветствуется любая идея о том, как заставить их работать даже с Checker Framework?
Чтобы очистить сценарий,
Скажем, у меня есть модуль Maven с именем module_A. В этом модуле у меня есть аннотация (класс), называемая «@FoodItem». Мне нужно обеспечить соблюдение правила, согласно которому любой класс, аннотированный аннотацией @FoodItem, должен реализовать интерфейс «Продовольствие». Поэтому я написал обработчик аннотации «FoodItemAnnotationProcessor» в том же модуле (module_A), который обрабатывает такие классы и проверяет соответствие этому правилу.
Тогда, допустим, у меня есть еще один модуль с именем module_B, который имеет зависимость от maven с модулем_A. В этом модуле у меня есть класс под названием «Пицца», который аннотируется аннотацией @FoodItem.
Если вы построили проект (который имеет модули_A и module_B) с вышеуказанной конфигурацией, «ProcessItemAnnotationProcessor» выполняется на этапе компиляции и проверяет класс «Пицца» для упомянутого выше правила.
После этого я интегрировал рамки Checker в module_B (как упоминалось here). Затем проверки, связанные с каркасом проверки, выполняются во время компиляции, как ожидалось, но «FoodItemAnnotationProcessor» перестает работать.
Можете ли вы дать более подробную информацию о своей установке или (желательно!) Минимальном рабочем примере? – mernst
Добавлено описание сценария –
Шаг 3 инструкций, на которые вы ссылались, включает фрагмент кода с комментарием ''. Вы включили в него программу FoodItemAnnotationProcessor? – mernst