【发布时间】:2015-12-03 20:25:56
【问题描述】:
我最近将 SonarQube 更新到 4.5.4 版,将 Java 插件更新到 3.5 版。
我们有用@Data 注释的类,但似乎规则squid:S1068 不处理这种“特殊”注释。尽管根据https://github.com/SonarSource/sonar-java/pull/257 和https://jira.sonarsource.com/browse/SONARJAVA-990,自3.4 版以来它们应该被忽略。
请参阅随附的屏幕截图。我是不是忘了配置什么?
更新:
我想确保我们使用的 Java 插件 3.5 包含了提交 https://github.com/benzonico/sonar-java/commit/5e7de16f59450061227d4103f64e351d1f93d9e9 的更改,因此我对 .jar 文件进行了逆向工程以查看规则 squid:S1068 UnusedPrivateFieldCheck.java 的来源。与 Lombok 相关的扩展更改已经存在并且显然有效!
【问题讨论】:
-
您的分析如何(maven 或 sonar-runner)?您如何向分析器提供字节码(尤其是 @Data 注释的字节码)?如果未提供字节码,则无法解析类型并引发问题。
-
我们使用 Sonar Maven 插件进行分析:
mvn sonar:sonar -Dsonar.branch=some_branch_name。我认为我们目前不提供字节码。 @benzonico 这是一个非常有用的声明,我现在要试试你的建议 -
使用 maven 通常由 maven 插件自动完成。
标签: java sonarqube lombok sonarqube-4.5