2016-03-18 7 views
1

Dies könnte eine ziemlich einfache Sache sein, aber ich bin frustriert mit meiner Unfähigkeit, es herauszufinden. Ich habe ein PMD-Plugin für Maven zu meinem Pom hinzugefügt und jetzt möchte ich einige Regelsätze hinzufügen. Wie finde ich die im Index aufgelisteten Dateien mit der XML-Datei, die ich in meinem POM angeben muss?So finden Sie XML-Name für PMD-Regelsatz

Zum Beispiel: Wie kann ich wissen, dass von dem PMD ruleset Index: http://pmd.sourceforge.net/pmd-4.3.0/rules/index.html

Wenn ich will, die Java-Logging-Regeln verwenden, die ich

<ruleset>rulesets/java/logging-java.xml</ruleset> 

meinen pom hinzufügen müssen? Es scheint keine Zuordnung zwischen dem Namen des Regelsatzes im Index und dem XML-Dateinamen zu geben, den Sie in Ihrem POM angeben müssen. Was fehlt mir hier?

(ich dachte, nur die eine oben aus, indem er auf diese Frage zu stolpern, die nicht wenige aufgeführt zu haben schien: How to included bundled rulesets in maven pmd plugin)

Antwort

3

Der Dateiname und der Name ruleset nur schwach verwandt. Ich glaube nicht, dass es ein Schema gibt, das sie in Beziehung setzt. Sie sind nur Namen die Entwickler arbeiten an ihnen ausgewählt. Die rulesets/java/logging-java.xml ist ein gutes Beispiel dafür, da der Name des Regelsatzes Java Logging ist und der Dateiname logging-java ist.

PMD löst die gebündelten Pfade auf, indem der Pfad als Ressource geladen wird. Die neuesten gebündelten Regelsätze für Java sind https://github.com/pmd/pmd/tree/master/pmd-java/src/main/resources/rulesets/java

Ich hatte Probleme beim Deaktivieren einer Regel in einem Regelwerk. Ich habe schließlich herausgefunden, dass die Regel in der von mir verwendeten Version in einen anderen Regelsatz verschoben wurde. Der generierte XML-Bericht verfügt über ein Versionsattribut, das mich auf die richtige Version verweist. Sie müssen sicherstellen, dass Sie sich den relevanten Index für die von Ihnen verwendete Version ansehen. Ich glaube nicht, dass der Regelsatzindex, den Sie betrachten, die Version von PMD ist, die Sie verwenden.

Wenn ich auf http://pmd.sourceforge.net/pmd-5.2.3/pmd-java/rules/index.html schaue und die Links im Artikelkörper ignorieren. Die Links im linken Menü unter Regelsätze> Java beziehen sich auf HTML-Dokumente, die dieselben Namen wie die XML-Regelsätze haben.

Die Seite http://pmd.sourceforge.net/pmd-5.2.3/pmd-java/rules/java/logging-java.html dokumentiert den Regelsatz geladen von ruleset/java/logging-java.xml.

+0

Vielen Dank! Es war sicherlich nicht klar, was ich in meinen Pom stecken sollte, wenn ich eines der gebündelten einbinden wollte. Link zu Github, wo sie aufgeführt sind, hilft. Danke noch einmal! –

Verwandte Themen