Это «довольно нетрадиционно» для pmd по тестовым источникам, но это не является частью вопроса.:)
Используя тег исполнения и используя maven-pmd-plugin , вы можете сделать это с помощью maven.
РЕДАКТИРОВАТЬ: Короче говоря и применяется к данному входу (и, возможно, больше, чем вы хотели / нужно), это позволяет / заставляет вас сделать обе проверки в каждой сборке :
<project><build><plugins>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.11.0</version> <!-- latest up-to-date -->
<executions>
<execution>
<id>pmd-execution</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rulesets>
<ruleset>${javaBuildSystemRoot}/src-pmd-rulesets.xml</ruleset>
</rulesets>
</configuration>
</execution>
<execution>
<id>pmd-test-execution</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rulesets>
<ruleset>${javaBuildSystemRoot}/test-pmd-rulesets.xml</ruleset>
</rulesets>
</configuration>
</execution>
</executions>
</plugin>
...
См. Также: Можно ли настроить несколько исполнений плагинов в pluginManagement и выбрать из них в моем дочернем POM?
EDIT 2 : Если вам действительно не нужны «оба выполнения» (в 1 сборке), а только «две конфигурации» для «разных сборок» , тогда: Профили Maven соответствует вашим потребностям (с профилями ... ваши «возможности сходятся в бесконечность»)!
Вы бы ввели такие профили, как:
<project>
...
<profiles>
<profile>
<id>pmdMain</id>
<properties>
<myPmdRuleSetLocation>${javaBuildSystemRoot}/src-pmd-rulesets.xml</myPmdRuleSetLocation>
</properties>
</profile>
<profile>
<id>pmdTest</id>
<properties>
<myPmdRuleSetLocation>${javaBuildSystemRoot}/test-pmd-rulesets.xml</myPmdRuleSetLocation>
</properties>
</profile>
<profiles>
...
</project>
И использовали его в своем (single) Конфигурация плагина pmd:
...
<ruleset>${myPmdRuleSetLocation}</ruleset>
...
Пожалуйста, читайте дальше о профилях и их активации.
(дополнительно <profile/>
может продолжатьсяain & override <build/>
tag!)