[英]how to create rule for java comments in pmd?
有人可以幫我在Pmd中為月食創建規則嗎? 即使我通過PMD官方網站也無法啟動。 我打算在Java中創建規則,而不是XPath規則。 有什么簡單的指導開始嗎? 謝謝
嘗試使用“使用Java編寫規則”方法,因為您可以輕松地以這種方式開始,以后可以嘗試使用XPath表達式。 您可以在官方鏈接旁執行以下步驟。
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
希望這可以幫助。!
我前一段時間寫了一個教程,其中包含一些可能有用的示例代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.