Выход процессора аннотации в maven

используя JSR 269 как способ анализа кода во время компиляции и сбоя при необходимости. Я'У меня проблемы с отображением вывода моего процессора аннотаций в Maven (Ant действительно показывает вывод) I 'Я использую javax.annotation.processing.Messager для отображения предупреждений и ошибок, но в Maven я нене вижу этовыходной. (Хотя я знаю, что он работает, потому что он генерирует код так, как должен). Есть идеи?

 matt b10 окт. 2012 г., 18:10
Я спрашивал больше о том, как процессор выводит егоs сообщения - логгеру, стандарту и т. д.?
 matt b10 окт. 2012 г., 16:43
Как процессор выводит сообщения? Как вы вызываете это?
 Jörn Horstmann10 окт. 2012 г., 16:59
Выводит ли вывод, если вы вызываете maven с-X параметр?
 iGili10 окт. 2012 г., 17:45
@matt B I 'm используя javax.annotation.processing.Messager для отображения предупреждений:_messager=processingEnv.getMessager(); @Jorn: я неПри использовании параметра -X процессор указан как поставщик услуг.
 iGili11 окт. 2012 г., 11:06
API обмена сообщениями предоставляет способ вывода сообщений на стандартный вывод. Он должен отображать предупреждения компиляции, как это делает компилятор.
 Patrick23 окт. 2012 г., 18:04
Единственный ответ ниже нет принято. Есть ли другой ответ, который является более правильным в данный момент?
 iGili24 окт. 2012 г., 14:43
Я должен был заниматься другими вещами (наш POC должен быть выпущен в ближайшее время), но я постараюсь обновить в ближайшее время.

Ответы на вопрос(2)

включив флаг showWarnings в конфигурации maven-compiler-plugin:

<build>
  <plugins>
    <plugin>
       <groupid>org.apache.maven.plugins</groupid>
       <artifactid>maven-compiler-plugin</artifactid>
       <configuration>
         <showwarnings>true</showwarnings>
       </configuration>
    </plugin>
  </plugins>
</build>

Смотрите такжеhttps://github.com/Cosium/annotation-processor-logger#enable-all-logging-levels

 rü-14 дек. 2018 г., 14:29
Обратите внимание, что это не только позволяетWARNING а такжеMANDATORY_WARNING, но такжеNOTE а такжеOTHER, который будет отображаться Maven как.INFO
Решение Вопроса

что вы сталкиваетесь с ошибкой Maven или, что лучше, с ошибкой в плагине компилятора -MCOMPILER-66, Когда дело доходит до обработки аннотаций, плагин компилятора имеет несколько проблем, например, такжеMCOMPILER-62, Действительно лучший вариант imo - отключить обработку аннотаций для плагина компилятора и использоватьMaven-процессор плагин, В этомСообщение блога Вы можете увидеть, как его использовать. Это выглядит так:

   <plugins>
    <plugin>
        <artifactid>maven-compiler-plugin</artifactid>
        <configuration>
            <source>1.6
            <target>1.6</target>
            <compilerargument>-proc:none</compilerargument>
        </configuration>
    </plugin>
    <plugin>
        <groupid>org.bsc.maven</groupid>
        <artifactid>maven-processor-plugin</artifactid>
        <version>1.3.7</version>
        <executions>
            <execution>
                <id>process</id>
                <goals>
                    <goal>process</goal>
                </goals>
                <phase>process-sources</phase>
            </execution>
        </executions>
        <dependencies>
            <dependency>
                <groupid>org.hibernate</groupid>
                <artifactid>hibernate-jpamodelgen</artifactid>
                <version>1.1.0.Final</version>
                <scope>compile</scope>
            </dependency>
        </dependencies>
    </plugin>
</plugins>

Также обратите внимание на то, как зависимость процессора аннотаций хорошо видна только для плагина.

Ваш ответ на вопрос