Как я могу подавить определенные правила checkstyle в затмении?
Я пытаюсь использовать фильтр подавления, но происходит непредвиденная ошибка.
Ниже приведено сообщение об ошибке.
"невозможно инициализировать модуль SuppressionFilter - невозможно установить для свойства 'file' в модуле SuppressionFilter значение 'checkstyle-suppressions.xml': невозможно найти checkstyle-suppressions.xml - корневой элемент документа"suppressions", должен соответствовать корневому" модулю "DOCTYPE."
Не могли бы вы дать мне знать, как я могу устранить эту ошибку?
Ниже приведены файл конфигурации и содержимое файла подавления, которые я использовал. Я настроил фильтр подавления через меню Eclipse (Windows > Настройки> Checkstyle > Настройка> Фильтры известных модулей> Фильтр подавления> Добавить)
======================================
файл конфигурации
<?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, но утверждает, что использует более новый синтаксис 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}
Переменная гарантирует, что это работает, даже когда вы копируете или переименовываете рабочее пространство.