PMD is a source code analyzer. It finds unused variables, empty catch blocks, unnecessary object creation, and so forth.

Latest version

5.0.0 (1st May 2012)

Get Involved

Recent announcements

  • 2012-07-29 PMD on github: Our source code repository is now on github.

    You can easily fork it from here: https://github.com/pmd/pmd.

  • 2012-05-01 PMD 5.0.0: major version supporting additional languages and new rules (Changelog)

    • Additional languages support (Java, JavaScript, XML, XSL, JSP)
    • Many bug fixes and new rules
    • Internal refactoring which breaks compatibility, but adds generic support for additional languages.
    • Maven coordinates have been changed: net.sourceforge.pmd:pmd
    • For details, see the Changelog.

    Note: PMD 5 is not backwards compatible with PMD 4.x.

Next development version

5.1.0-SNAPSHOT

Previous versions