У меня есть ViewState классы POJO, у которых есть конструкторы со многими параметрами. Проблема в том, что PMD выдает им нарушение ExcessiveParameterList.
Теперь я пытаюсь подавить это нарушение для всех классов, которые заканчиваются на ViewState.java (например, в DashboardViewState.java). Я добавил это в свой rules-pmd.xml:
<rule ref="category/java/design.xml/ExcessiveParameterList">
<properties>
<!--Ignore ExcessiveParameterList on ViewState classes -->
<property name="violationSuppressXPath" value="//ClassOrInterfaceDeclaration['*ViewState.java']"/>
</properties>
</rule>
Проблема в том, что это предотвратит все нарушения против ExcessiveParameterList независимо от того, в каком классе. Что я делаю не так?
matchesдля поддержки регулярных выражений. Вы можете написать пример так:./ancestor::ClassOrInterfaceDeclaration[matches(@Image, '^.*ViewState$')]14.06.2019