Java mvn声纳:声纳做什么?

Java mvn声纳:声纳做什么?,java,maven,sonarqube,Java,Maven,Sonarqube,mvn sonar:sonar命令执行的maven生命周期阶段是什么 当我看到在屏幕上运行的日志时,在一个非常高级别的测试中,安装我发现的 考虑下面的例子 我有一个maven项目,如下所示 maven-root maven-child-1 maven-child-2 考虑以下场景,我已经在根级别按顺序完成了这些操作 mvn清洁安装 mvn sonar:sonar——参见报告 通过添加一些测试用例来修改child-2,以增加代码覆盖率 运行mvn声纳:声纳 我对测试用例的更改没有反映在报

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

当我看到在屏幕上运行的日志时,在一个非常高级别的
测试中,安装我发现的

考虑下面的例子

我有一个maven项目,如下所示

maven-root

 maven-child-1

 maven-child-2
考虑以下场景,我已经在根级别按顺序完成了这些操作

  • mvn清洁安装
  • mvn sonar:sonar
    ——参见报告
  • 通过添加一些测试用例来修改child-2,以增加代码覆盖率
  • 运行mvn声纳:声纳
  • 我对测试用例的更改没有反映在报告中

  • 我已从sonarqube中删除了该报告
  • mvn声纳:声纳
  • 这仍然让我想起了以前的报告

    简而言之,我是否需要执行
    mvn清洁安装
    ,然后执行
    mvn sonar:sonar


    如果
    mvn sonar:sonar
    包括执行
    mvn清洁安装
    ,为什么报告会给我旧的数字?

    mvn sonar:sonar
    不会触发执行
    mvn清洁安装
    。它仅触发Maven Surefire插件执行


    这就是为什么您需要在每次分析之前执行
    mvn清理安装
    ,否则编译的类将不是最新的,因此Surefire执行不会包括最近的修改。

    运行下面的命令


    mvn clean install sonar:sonar

    谢谢@DavidMays,它说“如果可能,安装目标应该在sonar:sonar one之前完成”。我不明白如果不可能。。。有什么想法吗?@dm78链接不起作用我知道,你的答案是几年前的事了,但我遇到了同样的问题,我想知道:
    mvn clean verify
    ,然后是
    mn sonar:sonar
    就足够了吗?或者它必须是一个
    isntall