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

PMD无法解析自定义规则集引用问题求助

PMD无法解析自定义规则集引用问题求助

各位好,我最近在Maven项目里复用自定义PMD规则集的时候卡壳了,想请大家帮忙分析下:

之前旧项目里我们是通过HTTP URL引用PMD规则集的,现在我打算把这些规则集统一放到一个独立的Maven项目中,让其他项目通过依赖这个项目来复用规则集。但运行mvn pmd:pmd时,总是提示找不到自定义的规则集文件(比如upstream.xml和konveyor.xml),不过PMD自带的标准规则集(比如category/java/bestpractices.xml)却能正常加载。

我查看了Maven的debug输出,发现类路径里已经包含了存放自定义规则集的Jar包,但奇怪的是,标准规则集所在的路径并没有出现在类路径里,可它却能正常被找到。

以下是我的pmd.xml配置:

<ruleset name="Kode Konveyor WAR" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
  <description>PMD rules of Kode Konveyor</description>
  <rule ref="category/java/bestpractices.xml"/>
  <rule ref="upstream.xml"/>
  <rule ref="konveyor.xml"/>
</ruleset>

Maven debug输出里的类路径片段(已包含我的规则集Jar):

[DEBUG] Using aux classpath: [/home/mag/project/civitas-ng/data/target/test-classes, /home/mag/project/civitas-ng/data/target/classes, ..., /home/mag/.m2/repository/io/github/magwas/konveyor-pmdrules/0.0.2-3-g5b9385b/konveyor-pmdrules-0.0.2-3-g5b9385b.jar]

我现在搞不懂PMD到底是怎么查找规则集文件的,为什么标准规则集能找到,自定义的就不行?明明类路径里已经有那个包含规则集的Jar了,有没有大佬能指点一下?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 10:29:37