SonarQube Lombok Getter 识别度
SonarQube Lombok Getter recognition
我正在使用带有 Java 插件 3.1 的 SonarQube 4.5.4。据我所知,这个 sonar-java 版本支持 Lombok partially (Getter and Setter annotations) starting from 2.8.
但在我的例子中,它仍然报告字段 lombok.Getter
为:
squid:S1068 Unused private fields should be removed:
@Getter
private String userName;
您知道为什么会发生这种情况吗?我可以在哪里解决它?
更新
对于字节码,我尝试了 sonar.java.binaries
和 sonar.binaries
我在 sonar-project.properties
下方使用 sbt 和 运行 分析与 sonar-运行ner
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 并做出正确的排除。
我正在使用带有 Java 插件 3.1 的 SonarQube 4.5.4。据我所知,这个 sonar-java 版本支持 Lombok partially (Getter and Setter annotations) starting from 2.8.
但在我的例子中,它仍然报告字段 lombok.Getter
为:
squid:S1068 Unused private fields should be removed:
@Getter
private String userName;
您知道为什么会发生这种情况吗?我可以在哪里解决它?
更新
对于字节码,我尝试了 sonar.java.binaries
和 sonar.binaries
我在 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 并做出正确的排除。