Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “如何忽略”;id";简而言之,使用PMD的变量规则_Java_Eclipse_Pmd - Fatal编程技术网

Java “如何忽略”;id";简而言之,使用PMD的变量规则

Java “如何忽略”;id";简而言之,使用PMD的变量规则,java,eclipse,pmd,Java,Eclipse,Pmd,我正在为Eclipse(EclipseKeplerJavaEE)使用PMD插件(版本4.0.2)。我已配置命名规则: 除了像“id”和“e”这样的参数外,这种方法工作正常。我希望PMD忽略这些。所以我寻找了一种忽略某些参数的方法。我找到了(尽管它是为phpmd设计的)并尝试了它,但我似乎无法让它工作。我的配置文件如下所示(XML): 我的PMD 当我尝试使用eclipse插件导入此规则集时,它显示不可能导入任何规则。 有什么想法吗?我找到了解决问题的办法 生成的xml如下所示: 我的PMD

我正在为Eclipse(EclipseKeplerJavaEE)使用PMD插件(版本4.0.2)。我已配置命名规则:

除了像
“id”
“e”
这样的参数外,这种方法工作正常。我希望PMD忽略这些。所以我寻找了一种忽略某些参数的方法。我找到了(尽管它是为phpmd设计的)并尝试了它,但我似乎无法让它工作。我的配置文件如下所示(XML):


我的PMD
当我尝试使用eclipse插件导入此规则集时,它显示不可能导入任何规则。
有什么想法吗?

我找到了解决问题的办法

生成的xml如下所示:


我的PMD
//VariableDeclaratorId[(字符串长度(@Image)3)和(非(@Image='id'))]
[不是(祖先::ForInit)]
[不是((祖先::FormalParameter)和(祖先::TryStatement))]
要能够忽略更多变量名,请重复以下部分:

and (not (@Image='myVariableToIgnore'))

以下XML对PHP工具PHPMD 2.2.3有效

<?xml version="1.0"?>
<!DOCTYPE ruleset>
<ruleset
    name="My PMD ruleset for symfony 2.5"
    xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"
>

    <rule ref="rulesets/unusedcode.xml" />
    <rule ref="rulesets/codesize.xml" />
    <rule ref="rulesets/cleancode.xml" />
    <rule ref="rulesets/controversial.xml" />
    <rule ref="rulesets/design.xml" />
    <rule ref="rulesets/naming.xml">
       <exclude name="ShortVariable" />
    </rule>
    <rule ref="rulesets/naming.xml/ShortVariable">
        <properties>
            <property name="exceptions" value="id,em" />
        </properties>
    </rule>
</ruleset>


(可能不是最好的)经过一点搜索。您的链接解决方案非常好!请将其作为答案发布,并在宽限期后接受。谢谢。您需要将标记放在标记内。不使用PMD 5.1.3:java.lang.IllegalArgumentException:无法在Rule ShortVariable抱歉,我使用的是PHPMD 2.2.3,我没有意识到这是Eclipse(java World)的问题。