Назад к обновлениям
New releaseAug 28, 2026

pmd pmd_releases/7.27.0

Расширяемый мультиязычный статический анализатор кода.

Поделиться

PMD - анализатор исходного кода

PMD Logo

Join the chat Build Snapshot Maven Central Reproducible Builds Coverage Status Codacy Badge Contributor Covenant Documentation (latest) Gurubase Docker Image Version

PMD — это расширяемый многоязычный статический анализатор кода. Он находит распространённые ошибки программирования, такие как неиспользуемые переменные, пустые блоки catch, создание лишних объектов и так далее. В основном он ориентирован на Java и Apex, но поддерживает 16 других языков. Он содержит более 400 встроенных правил. Его можно расширять с помощью пользовательских правил. Для разбора исходных файлов в абстрактные синтаксические деревья (AST) используется JavaCC и Antlr, после чего по ним запускаются правила для поиска нарушений. Правила можно писать на Java или с помощью XPath-запросов.

В настоящее время PMD поддерживает Java, JavaScript, Salesforce.com Apex и Visualforce, Kotlin, Swift, Modelica, PL/SQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML и XSL. Scala поддерживается, но на данный момент нет правил для Scala.

Кроме того, он включает CPD — детектор копирования и вставки. CPD находит дублированный код в Coco, C/C++, C#, CSS, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Julia, Kotlin, Lua, Matlab, Modelica, Objective-C, Perl, PHP, PL/SQL, Python, Ruby, Salesforce.com Apex и Visualforce, Scala, Swift, T-SQL, Typescript, Apache Velocity, WSDL, XML и XSL.

🚀️ Установка и использование

Загрузите последний бинарный zip-архив из релизов и распакуйте его.

Выполните bin/pmd check или bin\pmd.bat check.

См. также Начало работы

Демонстрация:

Здесь показано, как PMD анализирует openjdk:

Demo

Существуют плагины для Maven и Gradle, а также для различных IDE. См. Инструменты / Интеграции

ℹ️ Как получить поддержку?

🤝️ Вклад в развитие

Pull request’ы приветствуются. Для существенных изменений, пожалуйста, сначала откройте issue, чтобы обсудить, что вы хотите изменить.

Последний исходный код PMD можно найти на GitHub. Форкните нас!

Подробности см. в Как внести вклад в PMD.

Дизайнер правил разрабатывается в pmd/pmd-designer. Обратитесь к его README для документации разработчика.

💵️ Финансовые участники

Станьте финансовым участником и помогите нам поддерживать наше сообщество. Внести вклад

✨️ Участники

Этот проект следует спецификации all-contributors. Приветствуются любые виды вклада!

Полный список см. в credits.

📝️ Лицензия

BSD Style

Категории