首页 > 解决方案 > 如何在多模块 Maven 项目中修复 Lombok 覆盖

问题描述

我有一个包含多个 Maven 模块的项目,每个模块都实现了单元测试。它们通过父模块相互依赖。我正在使用 Lombok 为我的模型生成所有样板代码,并且通过单元测试,我没有涵盖这些模型上的 @Getters 和 @Setters。

我知道,要排除这些并改善您的覆盖范围,您可以添加带有设置的 lombok.config lombok.addLombokGeneratedAnnotation = true。我在父模块中添加了这个,但这似乎不起作用。有没有办法为所有模块配置这个?

我还尝试在所有模块中添加不同的 lombok.config 文件,但仍然无法正常工作。这个问题主要影响 SonarQube 的覆盖范围,因为它不知道应该忽略这些未使用的 getter 和 setter。

PS:在成为多模块项目之前,该项目是一个简单的maven项目,这个lombok.config可以工作,覆盖率很好。将项目移至多模块方法后,单元测试中没有任何变化。

标签: javamavencode-coveragelombokmulti-module

解决方案


任何lombok.config文件只会影响该目录或以下目录中的 java 文件。在超级项目中拥有配置文件不会影响子项目或模块中的文件,除非这些源路径低于父项目的源路径,我认为情况并非如此。

该行lombok.addLombokGeneratedAnnotation = true需要lombok.config位于每个源目录中的每个 -file 中才能受到影响。


推荐阅读