#java #maven #netbeans #annotations #annotation-processing
Вопрос:
Я обновляю среду IDE Netbeans до версии 12.3.
Я использую Maven (в комплекте) и Tomcat (установлен).
Я создал библиотеку, которая определяет/реализует аннотации и процессор аннотаций.
Я создал веб-приложение, которое использует библиотеку, аннотации и процессор аннотаций.
В старой среде IDE Netbeans процессор аннотаций был объявлен в двух местах: как процессор в библиотеках и снова как класс процессора при компиляции. Это сработало идеально.
В новой среде IDE такого места нет:
Как мне объявить обработчик аннотаций?
Вот библиотека ПОМ:
Вот обновленная библиотека ПОМ:
Комментарии:
1. [1] Я озадачен тем, что вам удавалось использовать библиотеки в прошлом, поскольку, насколько мне известно, это свойство никогда не предоставлялось для проектов Maven в NetBeans. [2] Я понимаю, что вы не используете Lombok в качестве процессора аннотаций, но в этом отчете об ошибке Lombok подробно описаны параметры конфигурации POM
<annotationProcessorPaths>
, которые теперь требуются для работы Lombok, и, возможно, они применимы и в вашем случае?2. Существует несколько руководств NetBeans 12.3 по использованию процессоров аннотаций. Они абсурдно устарели и вряд ли будут полезны, но на всякий случай: Поддержка процессоров аннотаций в среде IDE NetBeans
3. Ранее я не использовал Maven. Так что, возможно, это проблема с Maven в Netbeans, а не с новой версией Netbeans.
4. Или, может быть, это не проблема с Maven или с NetBeans вообще, а с тем, как вы используете Maven. Можете ли вы обновить свой вопрос, чтобы показать pom.xml ? Возможно, вам нужно добавить некоторую информацию о процессоре аннотаций.
5. Обычно вам не нужно указывать препроцессор аннотаций в NetBeans с проектом maven. NetBeans/Maven автоматически оценивает, когда ваша библиотека обработки объединяет правильный файл конфигурации
servicesjavax.annotation.processing.Processor
.
Ответ №1:
Netbeans не предоставляет возможности добавлять библиотеки и классы процессоров аннотаций, поскольку вместо этого они объявляются в Maven.
Я объединил два изменения, обновив свой Netbeans и переключившись на Maven (поскольку новый Netbeans не поддерживает старую структуру проекта).
У меня все еще возникают трудности с аннотациями Maven, но я думаю, что это лучше рассмотреть в новом вопросе.
Спасибо всем за вашу помощь.