2013-11-23 5 views
5

Ich verwende PMD unter Eclipse 4.3.1/Kepler und ich kann Dateien und Ordner nicht von der Verletzungsprüfung ausschließen.PMD in Eclipse akzeptiert kein Ausschlussmuster

Meine Ordnerstruktur

/any/path/to/the/workspace/myproject1 
/any/path/to/the/workspace/myproject2 
/any/path/to/the/workspace/myprojectWithPMDrulesFile/pmd-rules.xml 

Jetzt erhalten folgende Ordner von testng erzeugt

...../myproject1/test-output 
...../myproject2/test-output 

Jetzt habe ich folgende Regeln Datei konfiguriert:

<?xml version="1.0" encoding="UTF-8"?> 
<ruleset xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    name="Xeno-PMD-rules" 
    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"> 
    <description>PMD Plugin preferences rule set</description> 
    <exclude-pattern>.*/test-output/*.*</exclude-pattern> 
    <exclude-pattern>/.*/test-output/.*</exclude-pattern> 
    <exclude-pattern>**/test-output/**</exclude-pattern> 
    <exclude-pattern>./test-output/.</exclude-pattern> 
    <rule ref="rulesets/java/android.xml/CallSuperFirst"/> 
    ... 
</ruleset> 

In meinem Fall habe ich viele hundert Fehler in der Datei jquery.js, die sich in der Testausgabe befindet.

Wie kann ich einen bestimmten Ordner und alle darin enthaltenen Dateien rekursiv ausschließen?

Wie wird das Muster eingestellt, um unter Eclipse und unter ANT/Maven zu arbeiten?

Hinweis: scheint ähnlich zu sein: PMD exclude not working

Antwort

7

Sie fast bekam es schon! Verwenden Sie die folgenden Ausschluss Syntax:

<exclude-pattern>.*/test-output/.*</exclude-pattern> 

Dadurch werden alle Dateien ausschließen, die /test-output/ irgendwo in ihrem absoluten Pfad haben. Das Muster ist in Eclipse und Ant/Maven das gleiche, solange die ausgeschlossenen Ordner auch test-output heißen.

Weitere Erläuterungen und Beispiele finden Sie in der PMD documentation.

Verwandte Themen