Torna agli aggiornamenti
New releaseAug 28, 2026

pmd pmd_releases/7.27.0

Un analizzatore statico di codice multilingua estensibile.

Condividi

PMD - analizzatore di codice sorgente

PMD Logo

Join the chat Build Snapshot Maven Central Reproducible Builds Coverage Status Codacy Badge Contributor Covenant Documentation (latest) Gurubase Docker Image Version

PMD è un analizzatore statico di codice multilinguaggio estensibile. Trova difetti di programmazione comuni come variabili inutilizzate, blocchi catch vuoti, creazione di oggetti non necessari e così via. Si occupa principalmente di Java e Apex, ma supporta 16 altri linguaggi. Viene fornito con oltre 400 regole integrate. Può essere esteso con regole personalizzate. Utilizza JavaCC e Antlr per analizzare i file sorgente in alberi sintattici astratti (AST) e applica regole su di essi per trovare violazioni. Le regole possono essere scritte in Java o utilizzando una query XPath.

Attualmente, PMD supporta Java, JavaScript, Salesforce.com Apex e Visualforce, Kotlin, Swift, Modelica, PL/SQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML e XSL. Scala è supportato, ma al momento non sono disponibili regole Scala.

Inoltre, include CPD, il rilevatore di copia-incolla. CPD trova codice duplicato in Coco, C/C++, C#, CSS, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Julia, Kotlin, Lua, Matlab, Modelica, Objective-C, Perl, PHP, PL/SQL, Python, Ruby, Salesforce.com Apex e Visualforce, Scala, Swift, T-SQL, Typescript, Apache Velocity, WSDL, XML e XSL.

🚀️ Installazione e Utilizzo

Scarica l'ultimo zip binario dalle release ed estrailo in una cartella.

Esegui bin/pmd check o bin\pmd.bat check.

Vedi anche Guida introduttiva

Demo:

Questo mostra come PMD analizza openjdk:

Demo

Ci sono plugin per Maven e Gradle e per vari IDE. Vedi Strumenti / Integrazioni

ℹ️ Come ottenere supporto?

🤝️ Contribuire

Le pull request sono benvenute. Per modifiche importanti, apri prima un issue per discutere cosa vorresti cambiare.

Il nostro ultimo codice sorgente di PMD si trova su GitHub. Fork us!

Per i dettagli, vedi Come contribuire a PMD.

Il progettista di regole è sviluppato su pmd/pmd-designer. Vedi il suo README per la documentazione per sviluppatori.

💵️ Contributori finanziari

Diventa un contributore finanziario e aiutaci a sostenere la nostra community. Contribuisci

✨️ Contributori

Questo progetto segue la specifica all-contributors. Contributi di ogni tipo sono benvenuti!

Vedi crediti per l'elenco completo.

📝️ Licenza

Stile BSD

Categorie