PMD/CPD无法检测到重复的代码

 wjr_l_be78e4 发布于 2023-01-30 13:35

我是新来的PMD/CPD.我PMD在我的maven项目中配置如下:

org.parent
CustRestExampleOsgi
1.0

pom
CustRestExampleOsgii


    CustImplProvider
    CustInterface
    RestCustConsumer




    G:\apache-karaf-3.0.0.RC1\deploy




    
        
            org.apache.maven.plugins
            maven-pmd-plugin
            3.0
        

        
            org.apache.maven.plugins
            maven-jxr-plugin
            2.3
        

        
            org.apache.maven.plugins
            maven-javadoc-plugin
            2.9.1
        
    

我的maven项目正在正常编译并生成所有报告mvn jxr:jxr site.但我无法找到任何显示重复代码的结果.为了测试这个,我在我的代码中故意引入了重复的代码,如:

@Override
public boolean equals(Object object) {
    // TODO: Warning - this method won't work in the case the id fields are not set
    if (!(object instanceof Address)) {
        return false;
    }
    Address other = (Address) object;
    if ((this.id == null && other.id != null)
      || (this.id != null && !this.id.equals(other.id))) {
        return false;
    }
    if (!(object instanceof Address)) { //Duplicate is here
        return false;
    }
    return true;
}

但始终CPD显示源代码中未检测到任何问题.但是我可以PMD正常查找报告.我错过了一些配置或规则集吗?

请帮忙!

1 个回答
  • 确保将最小令牌数设置得足够低.您的短片重复代码的标记少于默认值100.

    根据文件,该财产被称为minimumTokens.较旧版本的Maven PMD插件具有属性maven.pmd.cpd.minimumtokencount.将其设置为5以进行测试.在现实生活中,默认值100是一个很好的价值.

    2023-01-30 13:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有