SonarQube Lombok Getter 识别 [英] SonarQube Lombok Getter recognition

查看:80
本文介绍了SonarQube Lombok Getter 识别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用带有 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.binariessonar.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆