Bamboo - SonarQube 多模块 maven 项目跳过子模块
Posted
技术标签:
【中文标题】Bamboo - SonarQube 多模块 maven 项目跳过子模块【英文标题】:Bamboo - SonarQube multimodule maven project skip the child module 【发布时间】:2017-03-31 06:02:49 【问题描述】:我在 Bamboo 中创建了 SonarQube 任务。我有一个包含 4 个模块的父 pom。在运行任务时它会跳过子任务。我没有得到根本原因???
父 POM。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mastercard.mpts.emailsms</groupId>
<artifactId>emailsms-parent</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<description>EmailSMS Application</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>ESBMsgProcessor</module>
<module>EmailSMSService</module>
<module>SMTPMsgProcessor</module>
<module>ESBSMSService</module>
</modules>
</project>
以下是 SMTPMsgProcessor 的子项
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.mastercard.mpts.emailsms</groupId>
<artifactId>emailsms-parent</artifactId>
<version>1.0</version>
</parent>
<groupId>com.mastercard.mpts.emailsms</groupId>
<artifactId>smtpmsgprocessor</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>SMTPMsgProcessor</name>
<description>Handle Email for SMTP</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
SonarQube 计划的结果是:
30-Mar-2017 08:33:10 [INFO] Reactor Summary:
30-Mar-2017 08:33:10 [INFO]
30-Mar-2017 08:33:10 [INFO] emailsms-parent .................................... SUCCESS [ 33.879 s]
30-Mar-2017 08:33:10 [INFO] ESBMsgProcessor .................................... SKIPPED
30-Mar-2017 08:33:10 [INFO] EmailSMSService .................................... SKIPPED
30-Mar-2017 08:33:10 [INFO] SMTPMsgProcessor ................................... SKIPPED
30-Mar-2017 08:33:10 [INFO] ESBSMSService ...................................... SKIPPED
30-Mar-2017 08:33:10 [INFO] ------------------------------------------------------------------------
30-Mar-2017 08:33:10 [INFO] BUILD SUCCESS
30-Mar-2017 08:33:10 [INFO] ------------------------------------------------------------------------
30-Mar-2017 08:33:10 [INFO] Total time: 34.260 s
30-Mar-2017 08:33:10 [INFO] Finished at: 2017-03-30T08:33:10-05:00
30-Mar-2017 08:33:11 [INFO] Final Memory: 48M/3050M
我没有添加任何被跳过的内容。此外,由于模块被跳过,我无法看到 soanr 分析。
【问题讨论】:
【参考方案1】:sonar:sonar
Maven 目标是一个聚合器目标:这意味着它仅在根模块上触发一次。然后由 SonarQube Scanner for Maven 自行分析模块。
所以从 Maven 的角度来看,看起来模块被跳过了,但实际上它们被 SonarQube 正确分析了。转到您的 SonarQube Web 界面,您将在项目中找到模块。
【讨论】:
以上是关于Bamboo - SonarQube 多模块 maven 项目跳过子模块的主要内容,如果未能解决你的问题,请参考以下文章
Sonarqube:为多模块导入 Jacoco xml 报告