Java 声纳在Maven模块之间缺少依赖关系
我已经搜索了几个与多模块maven项目和sonar相关的问题,但这些问题主要是关于聚合代码覆盖率指标 我有一个多模块maven项目正在由sonar进行分析。 如果我使用Java 声纳在Maven模块之间缺少依赖关系,java,maven,jenkins,dependencies,sonarqube,Java,Maven,Jenkins,Dependencies,Sonarqube,我已经搜索了几个与多模块maven项目和sonar相关的问题,但这些问题主要是关于聚合代码覆盖率指标 我有一个多模块maven项目正在由sonar进行分析。 如果我使用mvn sonar:sonar直接从终端运行分析,结果分析将在设计页面中显示maven模块之间的依赖关系 但是,如果我通过Jenkins调用sonar runner来运行分析,结果分析将忽略maven模块之间的依赖关系 下面是我设置声纳参数的顶级pom的一个片段: 声纳 真的 jdbc:mysql://myhost:3306/s
mvn sonar:sonar
直接从终端运行分析,结果分析将在设计页面中显示maven模块之间的依赖关系
但是,如果我通过Jenkins调用sonar runner来运行分析,结果分析将忽略maven模块之间的依赖关系
下面是我设置声纳参数的顶级pom的一个片段:
声纳
真的
jdbc:mysql://myhost:3306/sonar?useUnicode=true&characterEncoding=utf8
声纳
声纳
http://myhost:9999
1.7
詹金斯
詹金斯
在Jenkins上,我将作业配置为在构建步骤中执行清洁安装-DskipTests=true
,然后执行构建后操作以运行Sonar
我使用的是Maven版本3.0.5、SonarQube版本3.7、Sonar Runner 2.3和Java 1.7.045
知道我的配置中会缺少什么吗?好的,如果您使用的是Jenkins,您需要安装Sonar插件并设置参数。然后,您需要创建一个作业并运行maven target:
clean install
之后,马克·索纳·切克。运行您的作业,您应该会看到您的代码覆盖率
PS:如果您使用的是模块,则所有模块都必须具有pom根。如果您使用的是Jenkins,则需要安装Sonar插件并设置参数。然后,您需要创建一个作业并运行maven target:
clean install
之后,马克·索纳·切克。运行您的作业,您应该会看到您的代码覆盖率
PS:如果您使用的是模块,那么您的所有模块都必须具有pom根。实际上,SonarQube Maven引导程序依赖Maven获取依赖项(在模块上或外部库上)。但是SonarRunner无法访问此类信息,这就是为什么使用SonarRunner分析项目时,您无法获得任何有关外部依赖关系的信息。实际上,SonarQube Maven引导程序依赖Maven获取依赖关系(模块或外部库)。但是SonarRunner无法访问此类信息,这就是为什么当您使用SonarRunner分析项目时,您无法获得任何有关外部依赖关系的信息。感谢您花费时间,但我描述的问题与代码覆盖率无关。我已经安装了声纳插件,我可以从詹金斯那里构建和分析这个项目。我的问题是关于模块间的依赖关系。您希望在SonarQube设计页面上看到的模块之间的依赖关系。感谢您花费时间,但我描述的问题与代码覆盖率无关。我已经安装了声纳插件,我可以从詹金斯那里构建和分析这个项目。我的问题是关于模块间的依赖关系。您希望在SonarQube设计页面上看到的模块之间的依赖关系。似乎如果我从命令行运行
mvn sonar:sonar
,我会在设计页面中看到模块间的依赖关系。但是,如果我在jenkins中做了与构建后步骤相同的操作,则不会显示依赖项。知道为什么吗?通过一些实验,我发现如果我不设置属性sonar.branch
,模块间的依赖关系就会出现在设计页面中。似乎如果我从命令行运行mvn sonar:sonar
,我就会在设计页面中得到模块间的依赖关系。但是,如果我在jenkins中做了与构建后步骤相同的操作,则不会显示依赖项。知道为什么吗?通过一些实验,我发现如果我不设置属性sonar.branch
,模块间的依赖关系就会出现在设计页面中。