什么是mvn声纳:声纳呢?

Vin*_*uri 5 java maven sonarqube

命令mvn sonar:sonar执行的maven生命周期阶段是什么?

虽然我看到屏幕上运行的日志,但是我发现了一个非常高的级别test, install.

考虑以下示例,

我有一个如下的maven项目

maven-root

 maven-child-1

 maven-child-2
Run Code Online (Sandbox Code Playgroud)

考虑以下场景,我在根级别按顺序完成它们

  1. mvn clean install
  2. mvn sonar:sonar - 见报告
  3. 通过添加一些测试用例来修改child-2以增加代码覆盖率
  4. mvn sonar:sonar

我对测试用例的更改未反映在报告中.

  1. 我已经删除了sonarqube的报告
  2. mvn sonar:sonar

这仍然是我的旧报告.

简而言之,我需要执行mvn clean install然后mvn sonar:sonar吗?

如果mvn sonar:sonar封面执行mvn clean install,为什么报告给我旧数字?

Fab*_*eam 6

mvn sonar:sonar不会触发mvn clean install执行.它仅触发Maven Surefire插件执行.

这就是为什么你需要mvn clean install在每次分析之前执行- 否则你的编译类将不是最新的,因此Surefire执行将不包括最近的修改.