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

Gradle中配置PMD如何排除指定目录?

Gradle PMD 排除指定目录的配置方法

要在Gradle项目的PMD代码扫描中排除指定目录,直接在现有配置基础上添加排除规则即可,以下是两种常用实现方式:

方式一:全局配置(对所有PMD任务生效)

在pmd闭包中直接添加exclude规则,支持Ant风格的路径匹配:

pmd {
    toolVersion = "6.48.0"
    sourceSets = listOf(java.sourceSets.findByName("main"))
    ruleSetFiles = files("/ruleset.xml")
    // 添加需要排除的目录,按需修改路径
    exclude "**/generated/**"    // 排除所有层级下的generated目录
    exclude "**/third-party/**"  // 排除所有层级下的third-party目录
    exclude "**/legacy/code/**"  // 排除特定嵌套目录
}

方式二:针对单个任务配置(更灵活)

如果只需要给特定的PMD任务(比如pmdMain)设置排除规则,单独配置任务即可:

pmd {
    toolVersion = "6.48.0"
    sourceSets = listOf(java.sourceSets.findByName("main"))
    ruleSetFiles = files("/ruleset.xml")
}

// 单独给pmdMain任务添加排除规则
tasks.named("pmdMain") {
    exclude "**/generated/**"
    exclude "**/test-helpers/**"
}

路径匹配说明

使用Ant风格通配符来匹配路径:

  • *:匹配任意字符(不含路径分隔符/)
  • **:匹配任意层级的目录和字符
  • ?:匹配单个字符(不含路径分隔符/)

比如**/*.temp.java可以排除所有层级下后缀为.temp.java的文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 21:45:09