首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >声纳缺少Maven模块之间的依赖关系

问声纳缺少Maven模块之间的依赖关系
EN

Stack Overflow用户
提问于 2013-12-13 15:17:23
回答 2查看 2K关注 0票数 1

我已经搜索了几个与多模块maven项目和声纳相关的问题,但这些问题主要是关于聚合代码覆盖率度量的。

我有一个多模块的maven项目正在由声纳进行分析。如果我使用mvn sonar:sonar直接从终端运行分析,则结果分析将显示设计页面中maven模块之间的依赖关系。

但是,如果我通过Jenkins调用声纳运行程序来运行分析,则结果分析将忽略maven模块之间的依赖关系。

下面是我设置声纳参数的顶级pom的片段:

代码语言:javascript
复制
<profile>
    <id>sonar</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <sonar.jdbc.url>
            jdbc:mysql://myhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8
        </sonar.jdbc.url>
        <sonar.jdbc.username>sonar</sonar.jdbc.username>
        <sonar.jdbc.password>sonar</sonar.jdbc.password>
        <sonar.host.url>http://myhost:9999</sonar.host.url>
        <sonar.java.source>1.7</sonar.java.source>
        <sonar.login>jenkins</sonar.login>
        <sonar.password>jenkins</sonar.password>
    </properties>
</profile>                

在Jenkins上,我将工作配置为在构建步骤中执行clean install -DskipTests=true,然后是运行Sonar的构建后操作。

我使用的是Maven版本3.0.5、SonarQube版本3.7、SonarRunner2.3和1.7.0_45。

知道我在配置中可能遗漏了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-16 21:39:33

实际上,SonarQube Maven引导程序依赖于Maven来获取依赖项(无论是模块还是外部库)。但是SonarRunner无法访问这类信息,这就是为什么当您使用SonarRunner分析一个项目时,您无法获得任何有关外部依赖关系的信息。

票数 1
EN

Stack Overflow用户

发布于 2013-12-14 06:57:57

如果您正在使用Jenkins,则需要安装Sonar插件并设置参数。然后,您需要创建一个作业并运行maven目标:

代码语言:javascript
复制
clean install

之后,马克·索纳尔·查克博克。运行您的工作,您将看到您的代码覆盖率。

PS:如果你使用的模块,你必须有pom-根与您的所有模块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20569873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档