【问题标题】:SonarQube Lombok Getter recognitionSonarQube Lombok Getter 识别
【发布时间】:2017-06-16 00:03:44
【问题描述】:

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

【问题讨论】:

  • 如何为分析提供 java 字节码?你在使用 Maven 吗?如果没有,您可以发布您的 sonar-project.properties 吗?
  • 问题正文中添加了详细信息

标签: sonarqube lombok sonarqube-4.5


【解决方案1】:

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

【讨论】:

  • @benzonico 我正在使用 gradle 构建项目,那么我应该为 sonar.java.librares 属性添加什么?
  • 你必须提供你的类路径,即你正在使用的库的路径。
  • sonar.java.libraries=/jenkins/jenkins-user-home/.m2/repository/org/projectlombok/lombok/1.16.20/lombok-1.16.20.jar
猜你喜欢
  • 2020-10-11
  • 1970-01-01
  • 2017-03-15
  • 2013-07-17
  • 2018-03-03
  • 2014-09-23
  • 2021-08-26
  • 2015-12-03
相关资源
最近更新 更多