如何在Eclipse中抑制特定的Checkstyle规则



我试图使用抑制过滤器,但出现了意外错误。

以下是一条错误消息。

"无法初始化模块SuppressionFilter-无法将模块Suppression Filter中的属性"file"设置为"checkstyle suppressions.xml":找不到checkstyle-suppressions.xml-文档根元素"suppressions",必须与DOCTYPE根"module"匹配。"

你能告诉我如何解决这个错误吗?

以下是我使用的配置文件和抑制文件内容。我通过eclipse菜单配置了抑制过滤器(窗口>首选项>检查样式>配置>已知模块过滤器>抑制过滤器>添加)

====================================

配置文件是

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
    <property name="severity" value="warning"/>
    <module name="TreeWalker">
        <module name="MagicNumber">
            <property name="ignoreNumbers" value="-1, 0, 1"/>
        </module>
    </module>
</module>

====================================

禁止显示筛选器文件是

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">         
<suppressions>
    <suppress checks="MagicNumberCheck"
              files="Home.java"
              lines="350-370"/>
</suppressions>

您的抑制筛选器文件使用1.1语法,但声称使用了更新的1.3语法。交换标题如下:

<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN"
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

此外,您的配置文件必须引用抑制筛选器。添加这样的模块定义(将其添加到最后一个关闭的</module>标记之前,而不是Treewalker下的):

<module name="SuppressionFilter">
    <property name="file" value="${workspace_loc}/MyProject/suppressions.xml"/>
</module>

使用${workspace_loc}变量可以确保即使在复制或重命名工作空间时也能正常工作。

相关内容

  • 没有找到相关文章

最新更新