我正在尝试微调我们的CI,我无法弄清楚如何避免PMD在src-gen中报告对生成的代码的违规行为(不是在那里讨论Android R文件):
我使用mvn help:effective-pom
来验证我的配置,而POM看起来就像我应该的那样。它指向要排除的右侧文件夹。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${pmd-maven-plugin.version}</version>
<configuration>
<linkXref>false</linkXref>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
<minimumTokens>${pmd.minimum.tokens}</minimumTokens>
<targetJdk>${pmd.target.jdk}</targetJdk>
<excludes>
<exclude>**/*R.java</exclude>
<exclude>**/*Manifest.java</exclude>
<excludeRoots>
<excludeRoot>${basedir}/src-gen</excludeRoot>
</excludeRoots>
</excludes>
答案 0 :(得分:2)
查看PMD plugin Usage doc page上的示例(页面末尾)表明<excludeRoots>
部分应位于<configuration>
下,而不是<excludes>
下。
如果这没有帮助,可以尝试使用 <excludeRoot>**/src-gen/**</excludeRoot>
。