Почему при создании сайта Maven мой процессор аннотаций запускается дважды и нарушает сборку?
У меня есть сборка, которая использует плагин процессора аннотаций для генерации классов критериев JPA с помощью Hibernate JPA 2 Metamodel Generator.
Это хорошо работает при нормальном mvn clean package
, но когда я строю сайт, он терпит неудачу:
[INFO] --- maven-processor-plugin:2.1.0:process (generate-jpa-metamodel) @ phtool-api ---
[INFO] Source directory: C:\jp\esv-projects\phtool\phtool-api\target\generated-sources\jpa added
[INFO] javac option: -cp
[INFO] javac option: ...
[INFO] javac option: -proc:only
[INFO] javac option: -processor
[INFO] javac option: org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
[INFO] javac option: -d
[INFO] javac option: C:\jp\esv-projects\phtool\phtool-api\target\classes
[INFO] javac option: -s
[INFO] javac option: C:\jp\esv-projects\phtool\phtool-api\target\generated-sources\jpa
[INFO] diagnostic Note: Hibernate JPA 2 Static-Metamodel Generator 1.2.0.Final
[INFO] diagnostic C:\jp\projects\phtool\phtool-api\target\generated-sources\jpa\phtool\impl\resource\ImageImpl_.java:10: error: duplicate c
lass: phtool.impl.resource.ImageImpl_
Я заметил, что плагин запускается дважды при генерации сайта, но я не знаю почему. Возможно, это известная ошибка плагина Javadoc?
1 ответ
Решение
Проблема решена сейчас, через изменения в родительском POM. Я не могу точно сказать, какие изменения решили проблему, но вот соответствующие версии в моем POM:
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>2.2.4</version>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.3</version>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9</version>
Обратите внимание, что версия плагина Javadoc не изменилась!