有人可以帮助我在pmd中为日食创建规则吗?即使通过PMD官方网站,我也无法启动。我打算在java中创建规则而不是XPath规则。任何简单的指导方针来启动它? 谢谢如何在pmd中为java评论创建规则?
1
A
回答
0
尝试'使用Java编写规则'方法,因为您可以轻松地以此方式启动,稍后您可以尝试使用XPath表达式。您可以按照官方link的这些步骤操作。
- 开始用自带的PMD中的src包(如PMD-4.2.x版\ SRC),创建Java类的现有包装内(如PMD-4.2.5的\ src \网络\ sourceforge上\ PMD \规则\基本)。在这种情况下,它是下面的示例代码(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 \规则集\ basic.xml):
将“将WhileLoopsMustUseBracesRule规则放入规则集文件”部分中的xml内容复制粘贴到basic.xml。
替换行
class="WhileLoopsMustUseBracesRule">
与
class="net.sourceforge.pmd.rules.basic.WhileLoopsMustUseBracesRule">
,你必须创建内部包java文件(WhileLoopsMustUseBracesRule.java) “net.sourceforge.pmd.rules.basic”
如果在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
- 对于类Unix操作系统(Linux的/ MacOS的),使用pmd.sh代替pmd.bat
- 一旦你能够得到它正在运行,可以在里面建立自己的规则你自己的套餐。
希望这会有所帮助。
0
我写了一篇教程,并附上了一些可能有用的示例代码。
相关问题
- 1. 如何在规则集中创建PMD自定义规则?
- 2. pmd规则检查评论的java代码
- 3. 如何使用Maven为PMD创建自定义规则?
- 4. Java的PMD CommentSize错误标题评论
- 5. 评论词法规则
- 6. 在gerrit中创建评论
- 7. PMD与Maven - 如何禁用规则集中的一个规则?
- 8. 如何在snort规则文件中进行内联评论?
- 9. 如何修改现有的PMD规则
- 10. 在eclipse pmd插件中添加新的基于java的PMD规则
- 11. 创建Java测试规则
- 12. /**评论。 */VS/*评论* /在Java中
- 13. vbCrLf创建在评论
- 14. 如何在Scrapy Python中创建规则?
- 15. 你如何在BJAM中创建规则?
- 16. 如何为Gradle中的不同配置配置PMD规则集?
- 17. 评论在java中
- 18. PMD规则集文件
- 19. PMD规则DataflowAnomalyAnalysis奇怪
- 20. 需要java pmd规则在myeclipse中注释
- 21. 如何用php-mysql创建评论框?
- 22. 如何在sonarQube中导入pmd规则集4.3.1
- 23. 如何在SonarQube 5.5中使用自定义PMD规则?
- 24. 如何在Gradle中找到PMD规则集名称> 2.0
- 25. PMD多个规则集传递构建但单个规则集失败构建
- 26. Disqus API:创建评论为客人
- 27. 在HTML如何创建规则数据
- 28. 创建评论锚点
- 29. 如何在MYSQL中为订阅模型创建规则?
- 30. fb:comments - 如何评论评论
您是否试过按照教程? http://pmd.sourceforge.net/howtowritearule.html – 2010-10-02 12:15:18
我遵循,但仍然无法选择哪一种更好的方式来创建规则,即......'使用Java编写规则'或 '编写XPath表达式'。哪种方法最简单? – hemanth 2010-10-05 06:58:01