[英]Can a maven plugin configuration be aggregated from parent to child project
我有 3 個 maven 項目,父項目、中間項目和子項目:
Parent-->Middle-->Child
然后我有 2 個注釋處理器依賴項。
父項目將 maven-compiler-plugin 定義為托管插件,並在 annotationProcessorPath 上配置注解處理器 1。 中間項目也這樣做,並在 annotationProcessorPath 上配置注釋處理器 2。
Parent-->Middle-->Child
| |
AP1 AP2
然后子項目的編譯失敗,因為它缺少注釋處理器 1,因為它的配置來自中間項目。 簡單的答案是簡單地將 processor1 添加到中間插件配置中。
然而,我真正想要的是讓孩子從父級和中間級繼承托管配置並聚合它們。 也許只是深夜,但我的直覺告訴我 maven 可以處理這個,但我很想念它。
這是來自父pom:
<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>
從中間的 pom 開始:
<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>
有人可以向我展示不同層次結構(父級、中間級)的技術來向插件添加配置,以便子級擁有來自兩者的聚合配置
如下:
根項目 - 包含帶有插件 X 及其默認配置的 pluginManagement 部分
子項目 - 包含插件 X 部分; 本節中添加的任何配置都附加到根的默認配置(或覆蓋 - 如果重新定義相同的參數)。
在您的情況下,根應包含帶有 annotation1 的 pluginManagement; 中間應該包含帶有 annotation2 的插件(這將被添加到默認的 annotaion1); 孩子將從中間繼承帶有兩個注釋的插件配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.