pmd相关内容

SonarQube 是 Checkstyle、PMD、FindBugs 的替代品吗?

我们正在从头开始开发一个网络项目,并正在研究以下静态代码分析工具. 约定(Checkstyle) 不良做法 (PMD) 潜在错误 (FindBugs) 该项目建立在 Maven 之上.我没有为此使用多种工具,而是在寻找一个灵活的解决方案并遇到了 SonarQube. 我们真的可以使用 SonarQube 实现 Checkstyle、PMD 和 Findbugs 的结果吗? ..
发布时间:2022-01-17 21:45:51 其他开发

无法在 Eclipse 中导入 PMD 规则集

我想在我的 IDE (Eclipse) 中使用与我的 Sonar 配置文件相同的规则集. 我从 Sonar Permalinks 获得了 PMD XML 规则集,并希望将其导入我的 PMD Eclipse 插件,但是当我尝试这样做时,“确定"按钮被停用... 有人可以帮我吗? 解决方案 问题可能是 Sonar 正在将您的规则集导出为 v4.x 格式,而您的 Eclipse 插件 ..
发布时间:2022-01-16 13:43:28 其他开发

代码分析器:PMD &查找错误

1.关于 PMD: 1.1 如何设置 PMD 检查,以忽略其中的一些检查,例如“变量名称太短或太长"、“删除空构造函数等" - 如果我这样做,则会出现另一个警告说该类必须有一些静态方法.基本上,这个类是空的,以供以后开发,我现在喜欢这样. 1.2 是否有必要遵循此警告建议? 只有私有构造函数的类应该是最终的 1.3 那应该是什么意思? 类“狗"的圈复杂度为 3(最高 = 17 ..
发布时间:2022-01-16 13:38:59 Java开发

在 Eclipse 中安装 PMD 5.0.4

谁能告诉我如何在 Eclipse 中安装 PMD.我已经从以下链接下载了 PMD 5.0.4: http://sourceforge.net/projects/pmd/files/latest/download?source=files 当我在 Eclipse 安装选项中添加此存档文件时,我收到一条错误消息,指出“找不到指定的文件". 解决方案 只需按照 http://sour ..
发布时间:2022-01-16 12:57:42 Java开发

避免使用 printStackTrace();改用记录器调用

在我的应用程序中,我通过 PMD 运行我的代码.它向我显示以下消息: 避免使用printStackTrace();改用记录器调用. 这是什么意思? 解决方案 这意味着你应该使用日志框架,比如 logback 或 log4j 而不是直接打印异常: e.printStackTrace(); 你应该使用这个框架的 API 来记录它们: log.error("Ops!", e); ..
发布时间:2021-12-19 10:53:50 Java开发

将 Sonarqube 升级到 4.5.4 后 PMD 插件失败

我正在升级我现有的 SonarQube 3.7.4 安装到新的 LTS 版本 4.5.4. 我想重用我的规则集,我正在使用 sonarqube ant 任务(和以前一样)来分析我的项目. 在不更改任何其他内容的情况下将声纳安装和 ant 任务升级到 2.2 后,我在执行 ant 任务时遇到 NoClassDefFoundError: build.xml:1659: org.sonar.r ..
发布时间:2021-11-11 03:06:50 Java开发

Hudson/Jenkins PMD 配置

我是 Jenkins 的新手,刚刚开始配置它.这就是我到目前为止所做的: 安装并配置 Jenkins 以显示主页.添加了 PMD 插件. 将 HUDSON_HOME 设置为特定目录 > C:\Work\Jenkins 配置了一个测试构建来运行一个简单的什么都不做的蚂蚁脚本.运行成功 编写了一个独立的 pmdbuild.xml 来对 C:\myview 中的一组文件运行检查(我使 ..
发布时间:2021-11-11 03:02:04 其他开发

如何为 PMD Xpath 规则设置嵌套条件

我的规则要求我只将它们应用于名称中不包含“get"的方法.换句话说,我的规则只需要应用于类中的非 getter 方法.我知道要掌握所有非 getter 方法,我可以使用 //MethodDeclarator[not(contains(@Image,'get'))] 但是,我不知道在何处插入规则逻辑的语法.是不是像 //MethodDeclarator[不(包含(@Image,'get'))' ..
发布时间:2021-10-02 19:26:06 其他开发

如何修复 pmd 违规“NullAssignment"?

PMD 报告 NullAssignment 以下代码,修复它的最佳做法是什么? 将对象分配为 null 是一种代码异味.考虑重构. 以下代码不是我写的,我也有疑问,为什么创建一个临时的定时器实例,然后将这个实例分配给定时器?startTimer 和 stopTimer 将在多线程上下文中使用. 私有定时器定时器;私有无效 startTimer() {如果(定时器 == 空){定时器 ..
发布时间:2021-07-05 20:39:13 Java开发

Eclipse复制批注@SurpressWarnings for PMD

我正在尝试为班级禁用几个任意的PMD警告. 如何列出要忽略的几个PMD规则?我无法在Google上找到. @SuppressWarnings("PMD.OnlyOneReturn")@SuppressWarnings("PMD.ShortVariable")公共类MyClass { 它给出了Eclipse编译时错误: 重复注释@SurpressWarnings 这是可编译但被忽 ..
发布时间:2021-05-03 19:35:17 Java开发

静态分析自定义规则以强制执行未经检查的异常处理

我在项目中创建了一个运行时异常,我想确保它被捕获在我的一个类中,这样整个程序不会在发生时爆炸(例如,如果有人删除了我想通过构建或静态分析工具中的某些操作使try/catch语句失败).不幸的是,由于Java没有强制我对此未检查的异常使用try/catch语句,因此无法在编译时强制执行它.(我无法将我的例外更改为已检查的例外). 我想知道是否可以通过使用checkstyle/pmd/findb ..
发布时间:2021-04-21 20:51:41 Java开发

PMD Gradle插件:在检查gradle时删除pmdTest

我正在build.gradle文件中使用PMD Gradle插件.有没有一种方法可以禁用pmdTest任务,以使其无法运行,请执行gradle check? 编辑:在问题中,我说“删除".我真的是说“禁用". 解决方案 pmd { sourceSets = [sourceSets.main] } 请参见 PmdExtension 在 Gradle Build Langua ..
发布时间:2020-11-20 01:56:44 其他开发

当基类中存在someObject时,使用PMD检查someObject.methodCall

我们有使用Spring框架的 NamedParameterJdbcTemplate 来执行各种JDBC语句.此类中的大多数方法都已重载.例如,一个版本的update()接受一个Map,其中的键是绑定变量名称,值是变量替换.另一个版本接受SqlParameterSource,它也允许提供列类型信息.我想写一个规则来标记使用Map版本,因为提供了类型信息我需要检查的一些代码是这样写的: ---- ..
发布时间:2020-11-06 19:33:33 Java开发

结合两个PMD检查

在使用PMD检查我的代码错误时遇到问题.我不知道如何同时满足两个要求.例如,如果我要检查文件扩展名BCD中不存在的名为ABC的方法.我知道如何使用PMD检查ABC是否存在或是否从BCD扩展出来. 赞: //PrimaryExpression/PrimaryPrefix/Name [@Image = "ABC"]; //ExtendsList/ClassOrInterfaceType [ ..
发布时间:2020-11-02 19:38:28 其他开发