2013-11-23 76 views
5

我在eclipse 4.3.1/Kepler下使用PMD,我無法從違規檢查中排除文件和文件夾。eclipse中的PMD不接受排除模式

我的文件夾結構

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

現在以下文件夾獲得通過TestNG的產生現在

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

我已經配置以下規則文件:

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

在我來說,我有好幾百個jquery.js文件中的錯誤,它在測試輸出中。

如何遞歸排除特定的文件夾及其中的所有文件?

如何設置模式在eclipse和ANT/maven下工作?

暗示:似乎是相似的:PMD exclude not working

回答

7

你幾乎得到它了!使用以下排除語法:

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

這將排除在他們的絕對路徑有/test-output/地方的所有文件。 Eclipse和Ant/Maven中的模式相同,只要排除的文件夾也稱爲test-output

PMD documentation中可找到其他解釋和示例。