【发布时间】:2020-10-14 23:35:46
【问题描述】:
我们有多个使用某些注释处理器的服务。所有这些服务有两个共同点 - 相同的父 pom 和特定的 pom-import-dependency in dependencyManagement。在各个服务中,我们使用下面的 sn-p 定义处理器
<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 中指定处理器的版本,并且服务可以决定他们想要使用哪个处理器?
【问题讨论】:
标签: java maven annotation-processing maven-compiler-plugin