多模块项目配置sonar.sources


sonar扫描报错了,于是去网上搜索一下怎么配置,没想到找了三分钟没找到很好的方式,结合官网给的解决方式,写下这篇文章分享一下。
不妥之处欢迎讨论指正。

1、场景及错误日志

使用流水线的 jenkins 构建项目时,日志打印错误如下:

Failed to execute goal org.sonarsouce.scanner.maven:sonar-maven-plugin:3.6.0:sonar 
on project ncrm: The directory '/home/jenkins/workspace/baidu-web/src/main' does not 
exist for Maven module xxx.xxx:war:0.1. Please check the property sonar.source -> [Help 1]

我的项目属于多模块项目,父pom.xml 中配置的扫描范围是:

<sonar.sources>src/main</sonar.sources>

2、错误原因及解决方式

2.1 错误原因

项目下的 baidu-web 模块并不是标准的格式,也就是没有 src/main 这个目录,但 pom.xml 配置的是扫描 src/main 目录,所以就导致报错。

2.2 解决方案

2.2.1 排除 baidu-web 这个模块范围

也就是我们不扫描这个模块就行。
方式1:(亲试可行)
在 baidu-web 模块下的 pom.xml 中添加:

<sonar.skip>true</sonar.skip>

方式2:(亲试可行)
在父 pom.xml 中,也就是配置 <sonar.sources>的pom中,将原来的 src/main 修改为:

<sonar.sources>.</sonar.sources>
<sonar.inclusions>src/main/**</sonar.inclusions>

方式2是找src/main这个目录,没有的当然就不用管了

2.2.2 添加目录(未尝试此方式)

在 baidu-web 模块下创建目录 src/main

可能还有很多方式,欢迎分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太上码农

有用的话就支持下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值