2016-03-18 4 views
1

Это может быть довольно простая вещь, но я расстроен своей неспособностью понять это. Я добавил плагин PMD для maven для моего pom, и теперь я хочу добавить некоторые набор правил. Как я могу сопоставить те, которые перечислены в индексе, с XML-файлом, который мне нужно указать в моем пом?Как найти имя xml для набора правил pmd

Например, Как я знаю, что из индекса набора правил PMD: http://pmd.sourceforge.net/pmd-4.3.0/rules/index.html

Если я хочу использовать Java протоколирования набор правил, что мне нужно добавить

<ruleset>rulesets/java/logging-java.xml</ruleset> 

моему ПОМ? Кажется, что нет никакого сопоставления между именем набора правил в индексе и именем файла XML, которое необходимо указать в вашем POM. Что мне здесь не хватает?

(я только понял одну выше путем спотыкаясь на этот вопрос, который, казалось, есть немало перечисленных: How to included bundled rulesets in maven pmd plugin)

ответ

3

Имя файла и имя набора правил только слабо связаны между собой. Я не думаю, что есть схема, которая их связывает. Это просто имена разработчиков, которые работают над ними. rulesets/java/logging-java.xml - хороший пример этого, поскольку имя набора правил - это Java Logging, а имя файла - logging-java.

PMD разрешает пути, связанные с ним, путем загрузки пути в качестве ресурса. Последние в комплекте набор правил для Java: https://github.com/pmd/pmd/tree/master/pmd-java/src/main/resources/rulesets/java

У меня была проблема с отключением правила в наборе правил. В конечном итоге я решил, что это правило было перенесено на другой набор правил в используемой мной версии. Сгенерированный отчет XML имеет атрибут версии, который указывал мне на правильную версию. Вам нужно убедиться, что вы смотрите на соответствующий индекс для используемой вами версии. Я не думаю, что индекс правил, который вы ищете, предназначен для версии PMD, которую вы используете.

Если я смотрю http://pmd.sourceforge.net/pmd-5.2.3/pmd-java/rules/index.html и игнорирую ссылки в теле изделия. Ссылки в меню левой руки в разделе «Наборы правил»> «Java» относятся к документам HTML, которые имеют те же имена, что и наборы правил XML.

Страница http://pmd.sourceforge.net/pmd-5.2.3/pmd-java/rules/java/logging-java.html Документы набор правил загружен с ruleset/java/logging-java.xml.

+0

Большое спасибо! Конечно, было непонятно, что мне помещать в мой пом, если бы я хотел включить один из связанных. Ссылка на github, где они указаны, помогает. Еще раз спасибо! –