环境: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
由于
答案 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.
正如您所说,您没有收到此警告,因此可能不是运行时依赖项。我不确定这些是什么依赖,但你可以试试这个。