Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 声纳在Maven模块之间缺少依赖关系_Java_Maven_Jenkins_Dependencies_Sonarqube - Fatal编程技术网

Java 声纳在Maven模块之间缺少依赖关系

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

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

我有一个多模块maven项目正在由sonar进行分析。 如果我使用
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
,模块间的依赖关系就会出现在设计页面中。