2014-12-02 3 views
0

Я использую плагин PMD maven для своего проекта, и я вижу в нем очень странное поведение. Следующий pom.xml конфигурация не может строить с нарушениями в basic.xml -PMD несколько наборов правил передают сборку, но один набор правил не работает

<configuration> 
    <rulesets> 
     <ruleset>${project.basedir}\ruleset\basic.xml</ruleset> 
     <!-- ruleset>${project.basedir}\ruleset\braces.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\design.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\controversial.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\coupling.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\clone.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\comments.xml</ruleset--> 
    </rulesets> 
</configuration> 

Но ниже один проходит сборку гладко -

<configuration> 
    <rulesets> 
     <ruleset>${project.basedir}\ruleset\basic.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\braces.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\design.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\controversial.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\coupling.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\clone.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\comments.xml</ruleset> 
    </rulesets> 
</configuration> 

сборки должен провалился во втором сценарии также. В соответствии с тем, что я заметил, если последнее правило (в приведенном выше примере comment.xml) не имеет никакого нарушения кода, то сборка не будет прерываться, даже если какой-либо из наборов правил над ним (basic.xml, braces.xml и т. Д.).) имеют нарушения в коде. Я не могу понять причину такого поведения. Может ли кто-нибудь помочь мне с этим?

+0

Можете ли вы опубликовать ошибки или еще лучше пример проекта с ошибками в сущности. –

+0

Извините за поздний комментарий @UsmanIsmail. Но я имел в виду, что неудачи были прекрасны. Мой проект имел нарушение кода, связанное с базовым.xml, поэтому ожидалось, что он будет показывать сбои. Но даже если я не удалю эти нарушения кода и не раскомментирую другие правила (как показано выше), то сборка проходит. Более подробное исследование показало, что если последний набор правил, который я упоминаю (comments.xml в приведенном выше примере) в файле pom.xml, не бросает никакого нарушения правила, то сборка успешно проходит, даже если проект имеет нарушение в соответствии с каким-либо другим упомянутым выше правилом , – Siddharth

ответ

1

Я нашел проблему. Возникла проблема с плагином Maven версии 3.3. Теперь я использую версию 3.1, и тот же самый код работает так, как ожидалось.