我有 gradle(6.9) springboot(2.7.0) 项目,具有以下依赖项
compileOnly 'org.projectlombok:lombok:1.18.22'
annotationProcessor 'org.projectlombok:lombok:1.18.22'
testCompileOnly 'org.projectlombok:lombok:1.18.22'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.22'
使用声纳(版本为8.9)进行分析时,显示Missing Ctor规则 即使我使用了@NoArgsConstructor,它也显示类应该定义一个构造函数。用@Entity注释的实体类也会显示相同的错误
我尝试在 sonar-project.properties 中添加以下内容
sonar.java.libraries=build/resources/main/META-INF/resources/lombok.jar
以及 build.gradle 中的以下内容
property "sonar.java.libraries","build/resources/main/META-INF/resources/lombok-1.18.22.jar"
但不工作。
在 lombok.config 中给出以下内容
lombok.addLombokGeneratedAnnotation = true
它只会有助于提高@NoArgsConstructor,@Getter等的覆盖率
我发现 .class 文件具有生成的构造函数,但声纳无法正确分析它。该声纳规则来自 checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.MissingCtorCheck
我无法抑制这个规则。期待其他解决方案