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 ...

Compile Dependencies (8)

Category/LicenseGroup / ArtifactVersionUpdates
Bytecode BSD 3-clause
asm » asm
ASM, a very small and fast Java bytecode manipulation framework
3.29.10.1
XPath BSD 2-clause
jaxen » jaxen
Jaxen is a universal XPath engine for Java.
1.1.12.0.6
Testing EPL 2.0
junit » junit
JUnit Jupiter is the API for writing tests using JUnit 5.
4.46.1.3
net.java.dev.javacc » javacc
JavaCC is a parser/scanner generator for java.
4.17.0.13
MPL 2.0
net.sourceforge.saxon » saxon
The XSLT and XQuery Processor
9.1.0.813.0
Build Tool Apache 2.0
org.apache.ant » ant3 vulnerabilities
Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as ...
1.8.11.10.17
Apache 2.0
org.apache.ant » ant-testutil
test utility classes
1.7.11.10.17
JVM Languages MPL 2.0
org.mozilla » rhino1 vulnerability
Rhino JavaScript runtime jar, excludes XML, tools, and ScriptEngine wrapper
1.7R31.9.1

Runtime Dependencies (1)

Category/LicenseGroup / ArtifactVersionUpdates
XML Processing Apache 2.0
xerces » xercesImpl5 vulnerabilities
Xerces2 provides high performance, fully compliant XML parsers in the Apache Xerces family. This new version of Xerces ...
2.9.12.12.2