Может ли кто-нибудь помочь мне создать правило в pmd для eclipse? Я не могу начать даже после того, как я пошел через официальный сайт PMD. Я планирую создать правило в java вместо правила XPath. Какие-нибудь простые рекомендации для его запуска? ThanksКак создать правило для java-комментариев в pmd?
1
A
ответ
0
Попробуйте использовать метод «Напишите правило, используя Java», так как вы можете легко начать этот путь, а позже можете попробовать с выражениями XPath. Вы можете следовать этим шагам рядом с официальным link.
- Начать с пакетом Src, который поставляется с PMD (например, PMD-4.2.x \ ЦСИ), создать класс Java внутри существующего пакета (например, PMD-4.2.5 \ SRC \ сетчатой \ SourceForge \ PMD \ правила \ основные). В этом случае следующий пример кода (WhileLoopsMustUseBracesRule):
package net.sourceforge.pmd.rules.basic;
import net.sourceforge.pmd.*;
import net.sourceforge.pmd.ast.*;
public class WhileLoopsMustUseBracesRule extends AbstractRule {
public Object visit(ASTWhileStatement node, Object data) {
SimpleNode firstStmt = (SimpleNode)node.jjtGetChild(1);
if (!hasBlockAsFirstChild(firstStmt)) {
addViolation(data, node);
}
return super.visit(node,data);
}
private boolean hasBlockAsFirstChild(SimpleNode node) {
return (node.jjtGetNumChildren() != 0 && (node.jjtGetChild(0) instanceof ASTBlock));
}
}
Append следующее правило внутри basic.xml (PMD-4.2.5 \ наборы правил \ basic.xml):
Скопируйте содержимое xml с поля «Поместить правило WhileLoopsMustUseBracesRule в файле набора правил» в basic.xml.
Заменить строку
class="WhileLoopsMustUseBracesRule">
с
class="net.sourceforge.pmd.rules.basic.WhileLoopsMustUseBracesRule">
, как вы должны создать Java-файл (WhileLoopsMustUseBracesRule.java) внутри пакета "net.sourceforge.pmd.rules.basic"
Запустите эту команду из приглашения cmd, если в Windows.
pmd.bat C:\JAVAFILE_ON_WHICH_YOU_WANT_TO_RUN_THIS_RULE xml C:\PMD\pmd-4.2.5\pmd-4.2.5\rulesets\basic.xml
- Для NIX ОС (Linux/MacOS), используйте pmd.sh вместо pmd.bat
- После того, как вы можете получить это работает, вы можете создать собственное правило внутри ваш собственный пакет.
Надеюсь, это поможет.!
0
Я написал учебник некоторое время назад с некоторым примером кода, который может быть полезен.
Смежные вопросы
- 1. Как создать собственное правило для PMD с Maven?
- 2. Назначение CompareObjectsWithEquals Правило PMD
- 3. PMD правило DataflowAnomalyAnalysis нечетность
- 4. Как добавить пользовательское правило PMD в плагин Jenkins PMD?
- 5. Правило PMD для поиска аннотаций в java
- 6. Правило PMD для проверки html/jsp-файлов
- 7. Как создать пользовательское правило PMD в наборе правил?
- 8. Пользовательское правило PMD с Gradle
- 9. Правило PMD «Использовать надлежащий загрузчик классов»?
- 10. pmd правило для проверки кода Java для комментариев
- 11. С настройками pmd в maven, как вы выбираете индивидуальное правило?
- 12. PMD с Maven - Как отключить одно правило в наборе правил?
- 13. Подавить правило PMD VariableNamingConventions для нижнего регистра поле «0»
- 14. Правило Checkstyle/PMD для SimpleDateFormat небезопасное предупреждение о потоке
- 15. Findbugs, PMD или правило Checkstyle для поиска доступа по полю
- 16. PMD Пользовательское правило для обнаружения операции добавления StringBuffer
- 17. Как создать правило в .htaccess для перенаправления
- 18. Пользовательские PMD Правило - Проверка пакета Комментарий В Место
- 19. PMD правило xpath, чтобы предупредить об использовании equals() в BigDecimal
- 20. pmd: NullAssignment недействителен для методов?
- 21. Создать правило fail2ban для Apache2
- 22. Как создать правило dtd для этого XML?
- 23. Как изменить существующие правила PMD
- 24. Как создать правило глобального анализатора?
- 25. Как использовать PMD с sonarqube
- 26. Источник теста теста правил PMD для бенчмаркинга
- 27. Создать шаблонное правило для шаблонов в переменной?
- 28. Как создать это правило urlManager?
- 29. Как исключить файл для проверки в файле PMD maven pom.xml?
- 30. Пользовательских PMD правила не подсвечивается PMD плагин Eclipse
Вы пробовали следовать руководству? http://pmd.sourceforge.net/howtowritearule.html –
s i, но все же я не могу выбрать, какой из них лучше создать правило. i.e .. 'Напишите правило с помощью Java' или 'Напишите выражение XPath'. Это самый простой способ? – hemanth