4

我正在使用带有 Java 插件 3.1 的 SonarQube 4.5.4。据我所知,这个 sonar-java 版本从 2.8 开始部分支持 Lombok(Getter 和 Setter 注释)
但在我的情况下,它仍然报告字段lombok.Getter为:

squid:S1068  Unused private fields should be removed:
@Getter
private String userName;

你有什么想法为什么会发生这种情况,我在哪里可以解决它?

更新

对于字节码,我都尝试了sonar.java.binariessonar.binaries 我使用 sbt 并使用 sonar-runner 运行分析,用于下面的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
4

1 回答 1

8

您必须通过sonar.java.libraries属性提供您使用的第 3 方库(即您的类路径),以便分析器能够检测到您正在使用 Lombok 并做出正确的排除。

于 2015-05-06T12:20:05.340 回答