Разработка и тестирование процессора аннотаций для JDK 1.8

#java #maven #annotations #maven-3 #annotation-processing

#java #maven #аннотации #maven-3 #обработка аннотаций

Вопрос:

Я разрабатываю процессор аннотаций для своего проекта, используя JDK1.8, Maven 3.6.3

Текущее состояние:

  • Я создаю процессор аннотаций (содержащий процессор и некоторые аннотации) в отдельном проекте с основным проектом и упаковываю его как jar
  • Я регистрирую его в: src/main/resource/META-INF/services/javax.annotation.processing.Processor проекта процессора
  • В файле процессора pom.xml я добавляю -proc:none в компилятор плагина maven в качестве аргумента компилятора, как мне сказали многие лекции, которые я нашел,
  • Я включаю jar процессора в качестве зависимости (системной области) в основной проект, который работает нормально, так как все аннотации, которые я использую, разрешены
  • И мой процессор работает над обработкой аннотации

Проблема:

  • В настоящее время я не могу попробовать / протестировать свой процессор аннотаций (инкубированный в проекте processor), я всегда сначала упаковывал его, а затем пробовал / тестировал его в основном проекте,

Вопрос:

  • Есть ли какое-либо решение, чтобы я мог сначала протестировать свой процессор аннотаций, прежде чем упаковывать его в свой основной проект?
  • Или я в чем-то ошибаюсь? пожалуйста, скажите мне, что делать

Спасибо, очень признателен за любое решение

Комментарии:

1. Можете ли вы описать, как вы тестируете прямо сейчас, особенно как вы запускаете плагин компилятора maven? Изменения заключаются в том, что вам просто нужно прекратить переход -proc:none к тестовой компиляции, поскольку это говорит ему не запускать ваш процессор для теста.

2. пожалуйста, обратите внимание, что я использую -proc:none в проекте processor, как я описал выше, и он успешно скомпилирован, поскольку компилятор не искал обработку аннотаций. А затем я использую jar, созданный как зависимость от основного проекта, чтобы протестировать его, и он работает, процессор работает. Проблема заключается в том, как протестировать его в самом проекте процессора. если я удалю -proc:none, проект процессора всегда не будет компилироваться с сообщением «Неверный файл конфигурации …..»

3. Вы можете использовать compile-testing для тестирования своего процессора. Взгляните сюда: github.com/NaluKit/nalu/tree/master/nalu-processor или здесь: github.com/gwtproject/gwt-editor/tree/master /…