默认情况下,maven-pmd-plugin 仅支持 Java、JavaScript 和 JSP 语言。但是CPD 支持更多的语言,例如 C#。为了在您的构建中启用 C#,您需要配置几个部分:
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.16.0</version> <configuration> <language>cs</language> <minimumTokens>10</minimumTokens> <includes> <include>**/*.cs</include> </includes> <compileSourceRoots> <compileSourceRoot>${basedir}/src/main/cs</compileSourceRoot> </compileSourceRoots> <printFailingErrors>true</printFailingErrors> </configuration> <executions> <execution> <goals> <goal>cpd-check</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-cs</artifactId> <version>6.42.0</version> </dependency> </dependencies> </plugin> ... </plugins> </build> </project>
在此示例中,C# 源文件位于src/main/cs中。
注意:net.sourceforge.pmd:pmd-cs的版本需要与正在使用的 PMD 版本相匹配。如果您在运行时升级 PMD,您需要确保在此处更改版本。