gpt4 book ai didi

java - 如何在pmd中创建java注释规则?

转载 作者:行者123 更新时间:2023-12-01 05:53:25 24 4
gpt4 key购买 nike

有人可以帮我在 pmd 中为 eclipse 创建规则吗?即使我关注 PMD 官方网站,我也无法启动。我计划在 java 中创建规则而不是 XPath 规则。有什么简单的指导方针可以开始吗?谢谢

最佳答案

尝试“使用 Java 编写规则”方法,因为您可以轻松地以这种方式开始,稍后您可以尝试使用 XPath 表达式。您可以按照官方 link 的步骤进行操作.

  • 从 PMD 附带的 src 包(例如 pmd-4.2.x\src)开始,在现有包中创建 Java 类(例如 pmd-4.2.5\src\net\sourceforge\pmd\rules\basic )。在本例中,它是以下示例代码 (WhileLoopsMustUseBracesRule):

package net.sourceforge.pmd.rules.basic;

import net.sourceforge.pmd.*;
import net.sourceforge.pmd.ast.*;

public class WhileLoopsMustUseBracesRule extends AbstractRule {
public Object visit(ASTWhileStatement node, Object data) {
SimpleNode firstStmt = (SimpleNode)node.jjtGetChild(1);
if (!hasBlockAsFirstChild(firstStmt)) {
addViolation(data, node);
}
return super.visit(node,data);
}
private boolean hasBlockAsFirstChild(SimpleNode node) {
return (node.jjtGetNumChildren() != 0 && (node.jjtGetChild(0) instanceof ASTBlock));
}
}

  • 在 basic.xml(pmd-4.2.5\rulesets\basic.xml) 中附加以下规则:

    将“将 WhileLoopsMustUseBracesRule 规则放入规则集文件中”部分中的 xml 内容复制粘贴到 basic.xml。

    更换线路

    class="WhileLoopsMustUseBracesRule">

    class="net.sourceforge.pmd.rules.basic.WhileLoopsMustUseBracesRule">

    因为您必须在包“net.sourceforge.pmd.rules.basic”内创建了 java 文件 (WhileLoopsMustUseBracesRule.java)

  • 如果在 Windows 中,请从 cmd 提示符运行此命令。


pmd.bat C:\JAVAFILE_ON_WHICH_YOU_WANT_TO_RUN_THIS_RULE xml C:\PMD\pmd-4.2.5\pmd-4.2.5\rulesets\basic.xml

  • 对于 nix 操作系统 (linux/MacOS),请使用 pmd.sh 而不是 pmd.bat
  • 一旦您能够运行它,您就可以在自己的包中创建自己的规则。

希望这有帮助。!

关于java - 如何在pmd中创建java注释规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3844773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com