PMD is an extensible multilanguage static code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It's mainly concerned with Java and Apex, but supports 16 other languages. It comes with 400+ built-in rules. It can be extended with custom rules. It uses JavaCC and Antlr to parse source files into abstract syntax trees (AST) and runs rules against them to find violations. Rules can be written in ...

LicenseBSD
CategoriesCode Analyzers
Tagsanalysiscodeanalyzerquality
Organization PMD
HomePage https://pmd.github.io/ 🔍 Inspect URL
DateOct 31, 2025
Filespom (64 KB)  View All
RepositoriesCentral
Ranking#24734 in MvnRepository (See Top Artifacts)
#9 in Code Analyzers
Used By19 artifacts

Scope:
Scope:
Format:
Scope:
Scope:
Scope:
Scope:
Scope:
Scope:

Compile Dependencies (0)

Category/License Group / ArtifactVersionUpdates

Managed Dependencies (59)

Category/License Group / ArtifactVersionUpdates

MIT
com.github.oowekyala.ooxml » nice-xml-messages 3.1

Unlicense
com.github.oowekyala.treeutils » tree-matchers 2.1.0

Unlicense
com.github.oowekyala.treeutils » tree-printers 2.1.0

MIT
com.github.stefanbirkner » system-lambda 1.2.1

CPAL 1.0CPL 1.0
com.github.stefanbirkner » system-rules 1.19.0
JSON Lib
Apache 2.0
com.google.code.gson » gson 2.13.2
Core Utils
Apache 2.0
com.google.guava » guava 33.5.0-jre
Serializer
BSD 3-clause
com.google.protobuf » protobuf-java 4.32.14.33.1
CLI Parser
Apache 2.0
info.picocli » picocli 4.7.7

Apache 2.0
io.kotest » kotest-runner-junit5-jvm 5.9.16.0.4

Apache 2.0
io.kotest » kotest-runner-console-jvm5.9.14.1.3.2

Apache 2.0
io.kotest » kotest-assertions-core-jvm 5.9.16.0.4

Apache 2.0
io.kotest » kotest-property-jvm 5.9.16.0.4

MIT
me.tongfei » progressbar 0.9.50.10.1
Bytecode
Apache 2.0
net.bytebuddy » byte-buddy 1.17.81.18.1
Bytecode
Apache 2.0
net.bytebuddy » byte-buddy-agent 1.17.71.18.1

MPL 2.0
net.sf.saxon » Saxon-HE 12.9

BSD
net.sourceforge.pmd » pmd-core 7.18.0

BSD
net.sourceforge.pmd » pmd-ant 7.18.0

BSD
net.sourceforge.pmd » pmd-test-schema 7.18.0

BSD
net.sourceforge.pmd » pmd-test 7.18.0

BSD
net.sourceforge.pmd » pmd-lang-test 7.18.0
Parser Generator
BSD 3-clause
org.antlr » antlr4-runtime 4.9.34.13.2
Build Tool
Apache 2.0
org.apache.ant » ant 1.10.15
Core Utils
Apache 2.0
org.apache.commons » commons-lang3 3.19.03.20.0
String Utils
Apache 2.0
org.apache.commons » commons-text 1.14.0
JVM Languages
Apache 2.0
org.apache.groovy » groovy 5.0.2
Defect Detection
MIT
org.checkerframework » checker-qual 3.51.13.52.0
Testing
BSD 3-clause
org.hamcrest » hamcrest 3.0
Defect Detection
Apache 2.0
org.jetbrains » annotations 26.0.2-1
JVM Languages
Apache 2.0
org.jetbrains.kotlin » kotlin-stdlib 2.2.102.2.21
Lang Runtime
Apache 2.0
org.jetbrains.kotlin » kotlin-stdlib-jdk8 2.2.102.2.21
Reflection
Apache 2.0
org.jetbrains.kotlin » kotlin-reflect 2.2.102.2.21
Testing
Apache 2.0
org.jetbrains.kotlin » kotlin-test-junit 2.2.102.2.21
Testing
EPL 2.0
org.junit.jupiter » junit-jupiter 6.0.06.0.1
Testing
EPL 2.0
org.junit.jupiter » junit-jupiter-api 6.0.06.0.1
Testing
EPL 2.0
org.junit.jupiter » junit-jupiter-engine 6.0.06.0.1

EPL 2.0
org.junit.jupiter » junit-jupiter-migrationsupport 6.0.06.0.1
Testing
EPL 2.0
org.junit.jupiter » junit-jupiter-params 6.0.06.0.1

EPL 2.0
org.junit.platform » junit-platform-commons 6.0.06.0.1

EPL 2.0
org.junit.platform » junit-platform-commons 6.0.06.0.1

EPL 2.0
org.junit.platform » junit-platform-console 6.0.06.0.1

EPL 2.0
org.junit.platform » junit-platform-engine 6.0.06.0.1
Testing
EPL 2.0
org.junit.platform » junit-platform-launcher 6.0.06.0.1

EPL 2.0
org.junit.platform » junit-platform-reporting 6.0.06.0.1

EPL 2.0
org.junit.platform » junit-platform-suite 6.0.06.0.1

EPL 2.0
org.junit.platform » junit-platform-suite-api 6.0.06.0.1

EPL 2.0
org.junit.platform » junit-platform-suite-engine 6.0.06.0.1
Testing
EPL 2.0
org.junit.platform » junit-platform-testkit 6.0.06.0.1
Testing
EPL 2.0
org.junit.vintage » junit-vintage-engine 6.0.06.0.1
Mocking
MIT
org.mockito » mockito-core 5.20.0
Bytecode
BSD 3-clause
org.ow2.asm » asm 9.9
Collections
MIT
org.pcollections » pcollections 4.0.25.0.0
Scala Compiler
Apache 2.0
org.scala-lang » scala-reflect 2.13.17
JVM Languages
Apache 2.0
org.scala-lang » scala-library 2.13.173.7.4
Logging
MIT
org.slf4j » slf4j-api 1.7.362.0.17
Logging
MIT
org.slf4j » slf4j-simple 1.7.362.0.17
Logging Bridge
MIT
org.slf4j » jul-to-slf4j 1.7.362.0.17
YAML
Apache 2.0
org.yaml » snakeyaml 2.5

Developers

NameEmailDev IdRolesOrganization
github contributorsgithubgithub