У меня есть проект maven с несколькими модулями, структура выглядит следующим образом:
/myProject
pom.xml
exclude-cpd.properties
-- module1
pom.xml
exclude-cpd.properties
-- module2
pom.xml
exclude-cpd.properties
в моем родительском pom.xml я добавил плагин pmd:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.12.0</version>
<configuration>
<rulesets>
<ruleset>pmd_ruleset.xml</ruleset>
</rulesets>
<minimumTokens>80</minimumTokens>
<includeTests>true</includeTests>
<excludeFromFailureFile>exclude-cpd.properties</excludeFromFailureFile>
<printFailingErrors>true</printFailingErrors>
</configuration>
</plugin>
</plugins>
</pluginManagement>
и в exclude-cpd.properties Я включаю все файлы, которые я хочу исключить из cpd-check как строки, разделенные запятыми.
, но когда я запускаю mvn clean compile
, он все равно сканирует эти исключенные файлы и жаловался на дублирование.Кажется, что excludeFromFailureFile
вообще не работает, мне пришлось использовать excludes
для исключения файлов из проверки pmd и cpd, но это не идеально.кто-нибудь знает, как заставить excludeFromFailureFile
работать?
рабочий файл.xml:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.12.0</version>
<configuration>
<rulesets>
<ruleset>pmd_ruleset.xml</ruleset>
</rulesets>
<minimumTokens>80</minimumTokens>
<includeTests>true</includeTests>
<excludes>
<exclude>**/XyzService*.java</exclude>
</excludes>
<printFailingErrors>true</printFailingErrors>
</configuration>
</plugin>
</plugins>
</pluginManagement>