aga*_*ner 5 java lombok sonarqube sonarqube-4.5
我最近将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.扩展的龙目岛有相关的变化,显然有效!
最后,我能够在@ benzonico的评论的帮助下回答我自己的问题.
在我们的CI系统的Sonar构建日志中,我发现了许多警告消息: [WARN] [16:51:48.435] Class 'com/bla/bla/Application' is not accessible through the ClassLoader.
需要为所有类及其依赖项修复字节码分析,以获得正确的结果.我必须设置以下Sonar属性:
sonar.java.binaries=target/classes
sonar.java.libraries=target/dependency/*.jar
Run Code Online (Sandbox Code Playgroud)
请注意,如果没有sonar.java.binaries=target/classes它不起作用,至少在我们的CI系统(TeamCity)上.
在运行之前,mvn sonar:sonar所有Maven依赖项(也是瞬态的)都会target/dependency通过mvn dependency:copy-dependencies在分析之前运行来移动到该文件夹.
现在CI构建日志更清晰,Lombok注释得到认可.
| 归档时间: |
|
| 查看次数: |
3653 次 |
| 最近记录: |