我们的项目是一个使用 maven 构建的多模块插件项目。声纳分析运行良好,但在此过程中会产生大量警告,并且可能会产生不正确的结果。下面是项目的设置和分析过程中产生的警告。非常感谢修复这些警告的任何帮助。
项目设置:
- 通过 jenkins 构建的声纳分析。
- Jenkins Sonar 插件用于运行分析。
- Jenkins 和 Sonar 以及 MySQL 在不同的机器上运行。
在声纳分析期间,为 Jenkins 中的声纳插件提供以下属性。
-Dsonar.profile="我的项目资料" -Dsonar.dynamicAnalysis=reuseReports -Dsonar.core.codeCoveragePlugin=jacoco -Dsonar.jacoco.reportPath=../../releng/com.mycompany.myproject.releng.builds/coverage_data/jacoco.exec
以下是分析过程中产生的警告:
注意:如果 Sonar 和 Jenkins 在同一台机器上运行,则不会生成以下警告
- 在对单个模块进行声纳分析之前,会引发以下错误。
[警告] 在构建的此时无法解决以下依赖项,但似乎是反应器的一部分: 15:04:52 [警告] o com.mycompany.myproject.plugins:com.mycompany.myproject.external.libraries:jar:1.0.0-SNAPSHOT(提供) 15:04:52 [警告]尝试将构建运行到生命周期阶段“包” 15:04:52 [警告] 在构建的此时无法解决以下依赖项,但似乎是反应器的一部分: 15:04:52 [警告] o com.mycompany.myproject.plugins:com.mycompany.myproject.somefunctionality.framework:jar:1.0.0-SNAPSHOT(提供)
- 在分析模块期间,它会抛出以下警告
类 'com/mycompany/myproject/core/common/datatransfers/MyClass' 不能通过 ClassLoader 访问。 [警告] [15:05:25.731] 类 'com/mycompany/myproject/core/common/datatransfers/MyClass' 无法通过 ClassLoader 访问。
- 几乎所有模块在构建完成后分析后都标记为已跳过,但分析结果在 Sonar 中可用。
[信息] com.mycompany.myproject.platform.feature ...... 跳过 [信息] com.mycompany.myproject.somefeature.feature ...跳过 [信息] 我的产品 ................... 已跳过 [信息] --------------------------------------------- ------------------------- [信息] 构建成功