我无法为PMD进行排除工作。我需要排除以下目录结构中的generated-sources文件夹:
mainProject>子项目>目标>生成来源
我已尝试过如下所示的规则集:
src/main/jniLibs
我还浏览了他们的文档和其他堆栈溢出链接,但似乎没有任何帮助。我尝试使用maven-pmd-plugin 3.1& 3.6版本。
尝试了其他选项:
<exclude-pattern>.*/generated-sources/*.java</exclude-pattern>
<exclude-pattern>.*/generated-sources/.*</exclude-pattern>
所有这些更改都在父POM中完成。
答案 0 :(得分:3)
在您的子pom中,excludeRoots需要匹配compileSourceRoots中列出的完整文件夹名称,例如:
[DEBUG](f)compileSourceRoots = [project / src / main / java,project / target / generated-sources / antlr4,project / target / generated-sources / annotations]
[DEBUG](f)excludeRoots = [project / target / generated-sources / antlr4,project / target / generated-sources / annotations]
孩子中的插件定义看起来像
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<configuration>
<excludeRoots>
<excludeRoot>target/generated-sources/antlr4</excludeRoot>
<excludeRoot>target/generated-sources/annotations</excludeRoot>
</excludeRoots>
</configuration>
</plugin>
答案 1 :(得分:1)
您可以使用excludeRoots
参数执行此操作。这样可以从PMD报告和后续检查中排除源目录。 Maven batmaan
的示例配置为:
subProject