##### Overview

- Download PMD 4.2.5
- What's new in PMD 4.2.5
- PMD in the news
- PMD-related products and books
- Best practices
- Future directions
- Similar projects
- Credits
- License
- What does 'PMD' mean?

##### Usage

- Installation
- Command line usage
- Ant task usage
- Maven plugin usage
- Mvn plugin usage
- IDE plugin usage
- Suppressing warnings
- Finding duplicated code
- JSP support

##### Customizing PMD

- Compiling PMD
- How to write a rule
- Writing XPath rules
- How to make a rule set
- How it works
- Rule guidelines

##### For example

- Run PMD on a Sourceforge project

##### Rule Sets

- Index
- Android
- Basic
- Braces
- Code Size
- Clone
- Controversial
- Coupling
- Design
- Finalizers
- Import Statements
- J2EE
- Javabeans
- JUnit Tests
- Logging (Java)
- Logging (Jakarta)
- Migrating
- Naming
- Optimizations
- Strict Exceptions
- Strings
- Sun Security
- Unused Code
- Java Server Pages
- Java Server Faces

##### Project Documentation

- About
- Project Info
  - Mailing Lists
  - Project Team
  - Dependencies
  - Source Repository
  - Issue Tracking
- Project Reports
- Development Process

##### Legend

- External Link
- Opens in a new window

## The Team

A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.

The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.

### Members

The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.

Name | Id | Email | Organization | Roles | TZ Offset | Time
--- | --- | --- | --- | --- | --- | ---
Tom Copeland | tomcopeland | tom@infoether.com | InfoEther | Developer |  | Unknown
David Dixon-Peugh | dpeugh | ddp@apache.org | Lockheed Martin Corporation | Developer |  | Unknown
Ole-Martin Mork | olemartin | olemartin@users.sourceforge.net | Bekk Consulting | Developer |  | Unknown
Miguel Griffa | mikkey | mikkey@users.sourceforge.net |  | Developer |  | Unknown
Philippe Herlin | phherlin | phherlin@users.sourceforge.net |  | Developer |  | Unknown
Jiger Patel | jigerjava | jigerjava@users.sourceforge.net |  | Developer |  | Unknown
Radim Kubacki | kubacki | kubacki@users.sourceforge.net |  | Developer |  | Unknown
Tomasz Slota | tomslot | tomslot@users.sourceforge.net |  | Developer |  | Unknown
Alan Ezust | tomslot | ezust@users.sourceforge.net |  | Developer |  | Unknown
Nascif Abousalh Neto | nascif | nascif@users.sourceforge.net |  | Developer |  | Unknown
Allan Caplan | allancaplan | allancaplan@users.sourceforge.net |  | Developer |  | Unknown
Sven Jacob | holobender | holobender@users.sourceforge.net |  | Developer |  | Unknown
Wouter Zelle | wfzelle | wfzelle@users.sourceforge.net |  | Developer |  | Unknown
Brian Remedios | hooperbloob | hooperbloob@users.sourceforge.net |  | Developer |  | Unknown
Xavier Le Vourch | xlv | xlv@users.sourceforge.net |  | Developer |  | Unknown
Ryan Gustafson | rgustav | rgustav@users.sourceforge.net |  | Developer |  | Unknown
Johan Nagels | bluejohn | bluejohn@users.sourceforge.net |  | Developer |  | Unknown
Torsten Kleiber | tkleiber | tkleiber@users.sourceforge.net |  | Developer |  | Unknown
Romain Pelisse | rpelisse | rpelisse@users.sourceforge.net |  | Developer |  | Unknown

### Contributors

There are no contributors listed for this project. Please check back again later.