eclipse中的PMD不接受排除模式

hka*_*ais 5 eclipse pmd

我在eclipse 4.3.1/Kepler下使用PMD,我不能从违规检查中排除文件和文件夹.

我的文件夹结构

/any/path/to/the/workspace/myproject1
/any/path/to/the/workspace/myproject2
/any/path/to/the/workspace/myprojectWithPMDrulesFile/pmd-rules.xml
Run Code Online (Sandbox Code Playgroud)

现在,以下文件夹由testng生成

...../myproject1/test-output
...../myproject2/test-output
Run Code Online (Sandbox Code Playgroud)

现在我配置了以下规则文件:

<?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>
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我在jquery.js文件中有很多错误,它在测试输出中.

如何以递归方式排除特定文件夹及其中的所有文件?

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

提示:似乎类似于:PMD排除不起作用

bar*_*uin 8

你几乎已经拥有它了!使用以下排除语法:

<exclude-pattern>.*/test-output/.*</exclude-pattern>
Run Code Online (Sandbox Code Playgroud)

这将排除/test-output/其绝对路径中具有某处的所有文件.只要还调用了排除的文件夹,Eclipse和Ant/Maven中的模式也是相同的test-output.

其他说明和示例可在PMD文档中找到.