如何获取PMD Maven插件以跳过生成的源代码?

时间:2018-07-11 17:59:34

标签: java maven pmd cpd

所以我正在使用maven-plugin-plugin创建一个maven插件。 maven-plugin-plugin中的HelpMojo生成一个Java源文件。

不幸的是,PMD正在对此进行投诉。有没有一种方法可以让PMD忽略单个源文件?谢谢!

Maven PMD配置:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <executions>
                <execution>
                    <id>pmd-verify</id>
                    <goals>
                        <goal>check</goal>
                        <goal>cpd-check</goal>
                    </goals>
                    <configuration>
                        <printFailingErrors>true</printFailingErrors>
                    </configuration>
                </execution>
            </executions>
        </plugin>

1 个答案:

答案 0 :(得分:1)

生成的源代码通常以{maven)结尾在target/generated-sources的子目录中,对于maven-plugin-plugin来说,它是target/generated-sources/plugin

您可以使用excludeRoots排除这些完整目录,例如

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <executions>
            <execution>
                <id>pmd-verify</id>
                <goals>
                    <goal>check</goal>
                    <goal>cpd-check</goal>
                </goals>
                <configuration>
                    <printFailingErrors>true</printFailingErrors>
                    <excludeRoots>
                        <excludeRoot>target/generated-sources/plugin</excludeRoot>
                    </excludeRoots>
                </configuration>
            </execution>
        </executions>
    </plugin>

还有一个基于文件的exclude选项。