您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

PMD将每个循环的Java标记为UR异常

PMD将每个循环的Java标记为UR异常

看来您遇到了PMD中的错误。该DataflowAnomalyAnalysis规则似乎并没有捕捉各种可能的变量定义的(另一个例子发现这里)。UR代表“未定义参考”,这显然是错误的。

所以,你可以做什么?

由于问题似乎主要影响规则的UR部分,因此您可以将其禁用并继续使用DU和DD部分。您需要一个相当新的PMD版本才能执行此操作。在您的规则集文件中,禁止显示类似以下内容的UR结果:

<rule ref="rulesets/java/controversial.xml/DataflowAnomalyAnalysis">
    <properties>
        <property name="violationSuppressRegex" value="^Found 'UR'-anomaly.*"/>
    </properties>
</rule>

更新: 对于PMD 6. +,规则ref已更改(感谢ZuziaKru):

<rule ref="category/java/errorprone.xml/DataflowAnomalyAnalysis">
    <properties>
        <property name="violationSuppressRegex" value="^Found 'UR'-anomaly.*"/>
    </properties>
</rule>

在我看来,整个UR检查有点过头,因为编译器将不接受未定义的引用。如今,运行编译器已不再是一件大事。

java 2022/1/1 18:28:21 有480人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶