ページ内ナビ
概要
PMDはextensibleなmulti-language static code analyzerです。Java/Apexを中心に多数の言語を解析し、400超のbuilt-in rule、Java/XPathによるcustom rule、duplicate codeを検出するCPDを提供します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
向いている用途
code smell・design・bug ruleをCIへ組み込みたいJava projectに向く
styleだけでなくbest practice、error-prone pattern、design rule等をteam向けrulesetにまとめ、Maven/Gradle/IDE integrationで継続実行したい場合に適します。
出典:[2]
導入前の確認
rule変更とtype resolution要件をupgrade時に確認する
7.28.0ではJava rule追加に加えてKotlin XPath/type情報が拡張されました。一部rule propertyはdeprecatedとなっており、type情報を使う解析ではauxClasspath設定が必要な場合があります。
出典:[4]
参考にした公式資料
- [1]pmd/pmd — GitHub repository(2026-10-06)
- [2]PMD — README(2026-10-06)
- [3]PMD — License(2026-10-06)
- [4]PMD 7.28.0 release(2026-10-06)
編集部からの補足
Javaのcoding styleだけでなくbug・design・performance等をrule setで分析し、custom ruleまで拡張したい場合に向きます。rule upgradeでは新規findingやdeprecated propertyをCIへ段階導入してください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/pmd/pmd.git - 2
リポジトリへ移動
cd pmd - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
5,494 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Apache Maven5,369 Stars
共通タグ 1件 · 共通カテゴリ 2件 · 同じ言語
POMでdependency・plugin・build lifecycleを共有し、Java/JVM buildを標準化するproject management tool
Java - Grype12,979 Stars
共通タグ 1件 · 共通カテゴリ 2件
container image・filesystem・SBOMを脆弱性DBと照合し、EPSS・KEV・VEXを使って修正優先度を絞る
Go - Syft9,642 Stars
共通タグ 1件 · 共通カテゴリ 2件
container image・filesystem・archiveからSBOMを生成し、CycloneDX・SPDXなど複数formatへ出力する
Go - GitHub Actions Runner6,311 Stars
共通タグ 1件 · 共通カテゴリ 2件
GitHub Actionsのジョブを自社マシンで実行し、OS・ハードウェア・ネットワークを自分で管理する
C# - Allure Report5,549 Stars
共通タグ 1件 · 共通カテゴリ 2件
複数言語・test frameworkの実行結果を統一reportへ変換し、履歴・step・attachmentを可視化する
HTML - DBeaver51,964 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
多数のdatabaseを一つのdesktop SQL workspaceから操作する
Java
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。