Sonarqube 声纳报告+;多模块maven+;Jacoco插件

Sonarqube 声纳报告+;多模块maven+;Jacoco插件,sonarqube,maven-plugin,sonarqube5.1,jacoco-maven-plugin,maven-cobertura-plugin,Sonarqube,Maven Plugin,Sonarqube5.1,Jacoco Maven Plugin,Maven Cobertura Plugin,我不熟悉声纳。 我有多模块maven项目。 请在下面找到项目结构 -Parent | -Module A | -pom.xml (Module A) | -Module B | -pom.xml (Module B) | -Module C | | | -pom.xml (Module C) | --pom.xml (parent pom) 注意:(模块C是模块A/模块B中的共享模块-意味着模块C将在内部成为模块A、模块B库中的一部分) 根

我不熟悉声纳。 我有多模块maven项目。 请在下面找到项目结构

-Parent
| -Module A
    |
     -pom.xml (Module A) 
| -Module B
    |
     -pom.xml (Module B)
| -Module C
|   |
|    -pom.xml (Module C)
|
--pom.xml (parent pom)   
注意:(模块C是模块A/模块B中的共享模块-意味着模块C将在内部成为模块A、模块B库中的一部分) 根据项目要求,我们有这些结构

  • 模块A-适用于外部用户
  • 模块B-适用于内部用户
  • 模块C-公共b/w,包括两个模块

    我试图为两个模块创建一个声纳报告,但我无法集成所有模块junit报告(模块A和模块B报告) 我遵循了几个示例来组合多模块maven项目,但没有任何效果



  • (参考sonar)

    我能够使用sonar和Jococo插件实现集成测试覆盖率。 为了在本地运行声纳,我遇到了声纳中SCM错误的问题。 每次它在声纳报告创建中失败。 要在本地解决此问题,您需要禁用sonar中的SCM配置。 以Admin-Admin/Admin(默认用户名/密码)身份登录本地sonar 现在在“设置”下有“SCM”选项卡-禁用SCM传感器并保存SCM设置

    现在进入仪表板-->配置小部件。搜索“集成测试覆盖率”

    现在将小部件添加到项目仪表板中

    遵循链接中给出的pom.xml中的相同配置


    我有类似的问题,有40多个模块甚至嵌套在一起。你要做的是在父pom中创建整个声纳配置

    <sonar.host.url>set url here (default is localhost)</sonar.host.url>
    <sonar.login>user for host url (default admin)</sonar.login>
    <sonar.password>password for host url (default is admin)</sonar.password>
    <sonar.projectName>optional name for whole project in sonar view</sonar.projectName>
    <sonar.projectDescription>optional project description for sonar view</sonar.projectDescription>
    <sonar.projectBaseDir>like name says you can set project base dir, if you have parent pom as a separate module then you can type ".." to set main directory with all modules</sonar.projectBaseDir>
    
    在此处设置url(默认为localhost)
    主机url的用户(默认管理员)
    主机url的密码(默认值为admin)
    sonar视图中整个项目的可选名称
    sonar视图的可选项目说明
    正如name所说,您可以设置projectbase-dir,若您将父pom作为一个单独的模块,那个么您可以键入“.”来设置包含所有模块的主目录
    
    正确设置将在整个项目中单独分析的所有模块:

    <sonar.modules>module1, module2, module3</sonar.modules>
    
    module1、module2、module3
    
    正确配置它们中的每一个:

    <module1.sonar.projectName>module1</module1.sonar.projectName>
    <module1.sonar.projectBaseDir>module1/</module1.sonar.projectBaseDir>
    <module1.sonar.sources>optionally set sources to proper directory for example src/main/java</module1.sonar.sources>
    
    <!-- similiar for other 2 projects -->
    
    模块1
    模块1/
    可以选择将源代码设置为适当的目录,例如src/main/java
    
    这样,所有junit报告都将按模块使用,但它将与模块一起列在单个项目中。这样,您将能够看到每个模块和整个单个项目的报告


    在添加每个模块后检查结果是一个很好的做法。如果出现故障,只需检查控制台中的错误并修复问题。

    如果您的问题是关于junit的,我不明白您为什么要添加jacoco maven插件、sonarqube、maven cobertura插件、sonarqube5.1、maven插件。。。这些标签都不符合你的问题。@kraal:当你有多模块项目时,为了覆盖整个项目,我们必须在额外插件配置的帮助下合并J-unit报告。你的文章中没有问题。您只是在写您无法“集成所有模块junit报告”。那你想做什么?编辑你的帖子,以提供一个人们可以尝试回答的清晰问题(而不是猜测你期望的是什么)@kraal:我想你还没有读过这句话“但我无法将所有模块junit报告(模块a和模块B报告)集成到单个报告中。”