[英]Configurable annotation processors in maven modules
我們有多個使用某些注釋處理器的服務。 所有這些服務有兩個共同點——同一個父 pom 和一個特定的pom
- import
- dependency
中的dependencyManagement
項。 在各個服務中,我們使用下面的代碼片段定義處理器
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<artifactId>mapstruct-processor</artifactId>
<groupId>org.mapstruct</groupId>
<version>${mapstruct.version}</version>
</path>
<path>
<artifactId>lombok</artifactId>
<groupId>org.projectlombok</groupId>
<version>${projectlombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
<groupId>org.apache.maven.plugins</groupId>
</plugin>
這里的問題是每個服務都需要自己定義處理器的版本。 我只是不想將處理器添加到父 pom,因為有許多服務不使用 lombok 或 mapstruct,所以不想為它們添加額外的處理器。 任何可用的解決方案,我可以最好在 bom 依賴項或父 pom 中指定處理器的版本,並且服務可以決定他們想要使用哪個處理器?
您可以在父 pom.xml 中使用<properties>
並在子 pom.xml 文件中使用它們。
在父 pom.xml
<properties>
<project.lombok.version>1.2.3</project.lombok.version>
</properties>
在子 pom.xml 中您需要使用的版本
<artifactId>lombok</artifactId>
<groupId>org.projectlombok</groupId>
<version>${project.lombok.version}</version>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.