Sonar SonarQube - SonarWay Findbugs - 在sonarRunner任务期间缺少类消息

时间:2013-09-05 15:37:53

标签: gradle sonarqube analysis sonar-runner

环境:Java / Linux / Gradle 1.6 / Jenkins最新

gradle clean build jacocoTestReport sonarRunner - 工作正常。

在sonarRunner任务期间,当sonarRunner尝试将数据发布到Sonar自己的数据库(org.h2.jdbc ..)时,我看到以下缺少的类/行

我在输出中看到以下行。我可以做些什么,以便在sonarRunner任务/步骤期间不会显示这些缺失的项目。

11:15:47 11:15:47.076 INFO  - Findbugs output report: /production/jenkinsAKS/jobs/CAPersonSvc/workspace/build/sonar/findbugs-result.xml
11:15:55 The following classes needed for analysis were missing:
11:15:55   org.springframework.context.ApplicationContext
11:15:55   org.springframework.context.support.ClassPathXmlApplicationContext
11:15:55   javax.crypto.SecretKey
11:15:55   javax.crypto.spec.PBEKeySpec
11:15:55   javax.crypto.SecretKeyFactory
11:15:55   javax.crypto.spec.PBEParameterSpec
11:15:55   javax.crypto.Cipher
11:15:55   javax.crypto.KeyGenerator
11:15:55   javax.crypto.spec.IvParameterSpec
11:15:55   javax.crypto.spec.SecretKeySpec
11:15:55 11:15:55.245 INFO  - Execute Findbugs 2.0.1 done: 10991 ms
11:15:55 11:15:55.247 INFO  - Sensor FindbugsSensor done: 10994 ms

由于

1 个答案:

答案 0 :(得分:0)

缺少的课程是第三方jar的一部分。

请找到jar文件名from here,然后在本地计算机中搜索jar文件的位置。

使用jar文件位置更改 build.gradle

sonarRunner {
    sonarProperties {
        properties["sonar.libraries"] += "../Lib/for_spring.jar,../Lib/for_javax.jar"
    }
}

你可以通过this for reference:第36.5章

如果错过任何运行时依赖项要添加,您将收到类似这样的警告

19:57:21.394 WARN  - Class 'org/apache/commons/chain/Command' is not accessible through the ClassLoader.

正如您所说,您没有收到此警告,因此可能不是运行时依赖项。我不确定这些是什么依赖,但你可以试试这个。