SonarQube Lombok Getter 识别 [英] SonarQube Lombok Getter recognition
问题描述
我正在使用带有 Java 插件 3.1 的 SonarQube 4.5.4.据我所知,这个 sonar-java 版本从 2.8 开始支持 Lombok 部分(Getter 和 Setter 注释)一个>.
但在我的情况下,它仍然将带有 lombok.Getter
的字段报告为:
I am using SonarQube 4.5.4 with Java plugin 3.1. As I know this sonar-java version supports Lombok partially (Getter and Setter annotations) starting from 2.8.
But in my case it still reports field with lombok.Getter
as:
squid:S1068 Unused private fields should be removed:
@Getter
private String userName;
您知道为什么会发生这种情况吗?我可以在哪里解决?
Do you have any ideas why this could happen and where can I fix it?
更新
对于字节码,我尝试了 sonar.java.binaries
和 sonar.binaries
我使用 sbt 并使用 sonar-runner 对以下 sonar-project.properties
For bytecode I tried both sonar.java.binaries
and sonar.binaries
I use sbt and run analysis with sonar-runner for below sonar-project.properties
sonar.projectVersion=0.1
sonar.java.binaries=
target/scala-2.11/classes,
target/scala-2.11/test-classes
sonar.sourceEncoding=UTF-8
sonar.projectName=projectName
sonar.host.url=http://hostname:9000
sonar.login=login
sonar.password=password
sonar.projectKey=projectKey:webJava
sonar.modules=app
app.sonar.projectBaseDir=web
app.sonar.sources=app
app.sonar.tests=test
sonar.analysis.mode=preview
sonar.issuesReport.lightModeOnly=false
推荐答案
您必须通过 sonar.java.libraries
属性提供您使用的第 3 方库(即您的类路径),以便分析器能够检测到您正在使用 Lombok 并做出正确的排除.
You have to provide the 3rd party libraries you use (ie your classpath) via sonar.java.libraries
property for the analyzer to be able to detect that you are using Lombok and make the correct exclusions.
这篇关于SonarQube Lombok Getter 识别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!