У меня есть 3 проекта maven, родитель, середина и дочерний проект:
Parent-->Middle-->Child
Тогда у меня есть 2 зависимости процессора аннотации.
Родительский проект определяет maven-compiler-plugin как управляемый плагин и настраивает процессор аннотаций 1 на annotationProcessorPath. Промежуточный проект аналогичным образом настраивает процессор аннотаций 2 на annotationProcessorPath.
Parent-->Middle-->Child
| |
AP1 AP2
Сбой компиляции дочернего проекта из-за отсутствия в нем процессора аннотаций 1, поскольку его конфигурация происходит из промежуточного проекта. Простой ответ - просто добавить процессор1 к средней конфигурации плагина.
Однако я действительно хочу, чтобы дочерний элемент наследовал управляемую конфигурацию от родительской и средней и объединял их. Может быть, просто поздно ночью, но моя интуиция говорит мне, что Мэйвен может справиться с этим, но я скучаю по нему.
Это от родителя пом:
<groupId>myproject</groupId>
<artifactId>base</artifactId>
<version>1.2-SNAPSHOT</version>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>myproject/groupId>
<artifactId>annotation1</artifactId>
<version>1.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</pluginManagement>
А из среднего пом:
<parent>
<groupId>myproject</groupId>
<artifactId>base</artifactId>
<version>1.2-SNAPSHOT</version>
</parent>
<artifactId>middle</artifactId>
<version>1.1-SNAPSHOT</version>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>myproject/groupId>
<artifactId>annotation2</artifactId>
<version>1.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</pluginManagement>
Может кто-нибудь показать мне технику для разных уровней иерархии (родительская, средняя), чтобы добавить конфигурацию к плагину так, чтобы у ребенка была совокупная конфигурация от обоих