SonarQube 分析期间“Class 未找到”

“Class Not Found” during SonarQube analyse

Jenkins 作业中的声纳分析有很多错误,分析成功

[ERROR] [14:36:44.124] Class not found: org.joda.convert.FromString
[ERROR] [14:36:44.126] Class not found: org.joda.convert.ToString
[ERROR] [14:34:42.441] Class not found: org.apache.commons.logging.Log
[ERROR] [14:34:42.724] Class not found: org.apache.oro.text.perl.Perl5Util
[ERROR] [14:34:31.442] Class not found: io.swagger.annotations.ApiModel
[ERROR] [14:34:31.442] Class not found: io.swagger.annotations.ApiModelProperty
[ERROR] [14:28:37.756] Class not found: org.apache.commons.logging.Log
[ERROR] [14:28:40.030] Class not found: org.apache.oro.text.perl.Perl5Util

SonareQube:5.1.2

sonarQube jenkins 插件:2.6

JDK : 1.7

请帮忙

谢谢

当找不到提到的 class 的 .class 文件时显示此错误。这可能会导致提出不太准确和不太精确的问题。

您应该检查您的分析配置,更具体地说 sonar.java.libraries 属性 以确保您为项目提供了正确的依赖项。

将以下依赖项添加到您的 pom

<dependency>
    <groupId>org.joda</groupId>
    <artifactId>joda-convert</artifactId>
    <version>1.8.1</version>
    <scope>provided</scope>
</dependency>

我们案例的根本原因是过时的 Sonar 插件。为了弄清楚 是哪一个 您需要 运行 Maven 调试构建,即 运行 它与 -X

Class not found: org.joda.convert.FromString
Class not found: org.joda.convert.ToString

例如,您将查看 sonar-jmeter-plugin 是否不是最新的。