【问题标题】:Setup sonar-runner for multiple java projects为多个 java 项目设置 sonar-runner
【发布时间】:2012-01-19 05:32:58
【问题描述】:

我正在尝试运行 sonar-runner 以一次性分析多个 Java 项目。根据documentation,只需为每个项目创建一个sonar-project.properties 文件即可。但我不清楚我必须将这些 sonar-project.properties 文件放在哪里。

我尝试在 $SONAR_RUNNER_HOME/conf 文件夹中添加多个 .properties 文件,但跑步者似乎没有选择它们。它只看到 sonar-project.properties 文件。

关于如何为多个项目运行 sonar-runner 有什么建议吗?

【问题讨论】:

    标签: java sonarqube


    【解决方案1】:

    实际上,让 sonar runner 分析多个项目非常简单,只要它们在同一个文件系统中即可。只需将属性文件放在离项目不远的目录中即可。然后在此属性文件中声明您的每个项目。

    假设您在 dev/general/BasicStuff、dev/service/CoolStuff、dev/utility/UtilStuff 和 dev/display/FrameWorkStuff 中有 4 个项目。

    hereWay #2 中所述,您在 dev 中创建一个包含该行的文件

    sonar.modules=BasicStuff,CoolStuff,UtilStuff,FrameWorkStuff
    

    对于每个“模块”,一行

    BasicStuff.sonar.projectBaseDir=general/BasicStuff
    CoolStuff.sonar.projectBaseDir=service/CoolStuff
    

    在项目目录中,您依次创建一个包含其他所需信息的文件,例如

    sonar.projectName=BasicStuff
    sonar.sources=src
    

    如果您以顶级属性作为目标启动 sonar runner,您将获得一个全面的结果,其中显示了项目中的指标,并允许您深入了解每个项目。

    希望这就是你要找的。​​p>

    【讨论】:

    • 非常有用。我对其进行了调整以使用 Jenkins/Sonar 构建,它节省了大量时间。只需创建一个构建作业而不是 11 个。
    【解决方案2】:

    从 2.0 开始,Sonar runner 可以使用多个模块,如 here 所述

    【讨论】:

    • 问题是关于多个项目而不是多个模块在同一个项目中。您是说您提到的链接也适用于多个 java 项目。 Mark O'Connor 在他的回答中提到它不支持在一次调用中分析多个项目。
    • 首先链接已经失效,但其次,看起来项目与模块的定义是从声纳运行器的角度来看的......在这种情况下,您可以定义一个项目并传递不同的源目录,这将包括不同项目的来源,只要它们可以从您的文件系统访问。这将在一个声纳项目分析中为您提供多个 Java 项目的“项目”快照。
    【解决方案3】:

    Sonar runner 支持具有多个模块的项目。它不支持在一次调用中分析多个项目。

    Java 运行程序需要针对每个项目运行,在每个项目目录中获取属性文件。

    【讨论】:

      猜你喜欢
      • 2017-12-14
      • 2012-09-23
      • 2015-12-21
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多