我是Sonar的新手。 我有多模块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库的一部分) 根据项目要求,我们有这些结构。
模块C -common b / w两个模块。
我正在尝试为模块创建单个声纳报告,但我无法集成所有模块junit报告(模块A和模块B报告) 单个报告。我按照几个例子来组合多模块maven项目,但没有任何作用。
similar issue1 similar issue2
github-example(在声纳中给出参考)
答案 0 :(得分:0)
我有超过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>
正确设置将为整个项目单独分析的所有模块:
<sonar.modules>module1, module2, module3</sonar.modules>
正确配置每一个:
<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 -->
这样,每个模块将使用所有junit报告,但它将在带有模块的单个项目中列出。这样,您就可以查看每个模块和每个项目的报告。
添加每个模块后检查结果是一个好习惯。如果发生故障,只需在控制台中检查错误并解决问题。
答案 1 :(得分:-1)
我可以使用带有Jococo插件的声纳实现集成测试覆盖。 为了在本地运行声纳,我遇到了声纳中SCM错误的问题。 每次在声纳报告创建中都失败了。 要解决本地问题,您需要在声纳中禁用SCM配置。 以管理员身份登录本地声纳 - admin / admin(默认用户名/密码) 现在在设置下我们有SCM选项卡 - 禁用SCM Senor并保存SCM设置。
现在在仪表板中 - &gt;配置小部件。搜索“集成测试覆盖率”
现在将小部件添加到您的项目信息中心。
遵循链接中给出的pom.xml中的相同配置。