gpt4 book ai didi

java - 带有 Java 插件 3.5 的 SonarQube 4.5.4 无法识别特殊的 Lombok 注释

转载 作者:搜寻专家 更新时间:2023-10-31 08:25:42 26 4
gpt4 key购买 nike

我最近将 SonarQube 更新到 4.5.4 版,将 Java 插件更新到 3.5 版。

我们有使用 @Data 注释的类,但规则 squid:S1068 似乎不处理这种“特殊”注释。尽管根据 https://github.com/SonarSource/sonar-java/pull/257 从 3.4 版开始应该忽略它们和 https://jira.sonarsource.com/browse/SONARJAVA-990 .

请参阅随附的屏幕截图。我是不是忘记配置什么了?

enter image description here

更新:

我想确保我们使用的 Java 插件 3.5 包含提交 https://github.com/benzonico/sonar-java/commit/5e7de16f59450061227d4103f64e351d1f93d9e9 的更改。所以我对 .jar 文件进行了反向工程,以查看规则 squid:S1068 UnusedPrivateFieldCheck.java 的来源。与扩展的 Lombok 相关的更改已经存在并且显然有效!

最佳答案

在@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

请注意,如果没有 sonar.java.binaries=target/classes,它就无法工作,至少在我们的 CI 系统 (TeamCity) 上是这样。

在运行 mvn sonar:sonar 之前,通过运行 mvn dependency:copy-dependencies 将所有 Maven 依赖项(也包括临时依赖项)移动到文件夹 target/dependency 现在分析之前。

现在 CI 构建日志更清晰,Lombok 注释得到识别。

关于java - 带有 Java 插件 3.5 的 SonarQube 4.5.4 无法识别特殊的 Lombok 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32452931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com