默认情况下,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,您需要确保在此处更改版本。