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
相关产品推荐
相关产品推荐

