You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何SonarScanner for Maven仅扫描根项目?如何全量扫描所有文件夹

扫描跳过的核心原因
  • SonarScanner for Maven 默认遵循Maven的多模块项目规则,仅扫描根POM<modules>节点中显式声明、且包含有效pom.xml的子模块。WebGoat 本身是多模块Maven项目,未被根POM引入、或者没有有效pom.xml的子文件夹会被默认跳过。
  • 若扫描前未完成全项目构建,未生成构建产物的子模块会被扫描器自动过滤。
  • 子文件夹路径如果匹配.gitignore规则、或者sonar.exclusions配置的排除规则,也会被跳过。
    扫描情况示例图
全文件夹扫描的解决方法
  • 首先确认根pom.xml的<modules>节点已包含所有需要扫描的子模块,先执行全量构建再启动扫描:
mvn clean install -DskipTests
mvn sonar:sonar
  • 如果需要扫描非Maven模块的普通子文件夹,可以在执行扫描命令时显式指定扫描根路径,覆盖默认的模块识别逻辑:
mvn sonar:sonar -Dsonar.sources=.
  • 若仍有路径被跳过,可检查sonar.exclusions配置是否有误匹配,也可以主动添加包含规则强制扫描目标路径:
mvn sonar:sonar -Dsonar.inclusions=**/src/main/**/*
  • 若需要扫描跨模块的非源码资源,也可添加-Dsonar.projectBaseDir=./参数指定扫描根目录,强制覆盖模块级别的路径限制。

内容的提问来源于stack exchange,提问作者noto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 04:18:03