有人可以帮我在pmd为eclipse创建规则吗?即使我通过PMD官方网站,我也无法开始。我打算用java而不是XPath规则创建规则。任何简单的指导方针来启动它? 感谢
答案 0 :(得分:0)
尝试“使用Java编写规则”方法,因为您可以轻松地以这种方式启动,稍后您可以尝试使用XPath表达式。您可以与官方link一起执行这些步骤。
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)中附加以下规则:
将xml内容从“将WhileLoopsMustUseBracesRule规则放入规则集文件”部分复制粘贴到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
希望这有帮助。!
答案 1 :(得分:0)
我前段时间写了一些教程,其中包含一些可能有用的示例代码。