Конфигурация Checkstyle, используемая Maven и Eclipse - PullRequest
0 голосов
/ 21 октября 2018

Я пытаюсь использовать один и тот же файл конфигурации Checkstyle с Maven и Eclipse.Модуль SuppressionCommentFilter работает должным образом в Eclipse, но Maven сообщает, что TreeWalker не разрешен в качестве родителя SuppressionCommentFilter. Если я переместлю его из TreeWalker в Checker, ошибка исчезнет, ​​но Checkstyle не обрабатывает комментарии игнорирования.Я использую Checkstyle 8.12 с Eclipse, но не нашел способа использовать кроме 6.18 с Maven.Так как этот модуль был частью Checkstyle начиная с 3.5, я не понимаю, как это может быть проблемой.Любые предложения, что не так?

<module name="Checker">
<property name="severity" value="warning" />
<module name="TreeWalker">
    <property name="tabWidth" value="4" />
    <module name="SuppressionCommentFilter" />

Марк спросил, как выглядит, так вот этот фрагмент кода.

            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
                <execution>
                    <id>verify-style</id>
                    <phase>process-classes</phase>
                    <goals>
                        <goal>check</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Все файлы конфигурации pom и Checkstyle - всеработает правильно, кроме
Если это дочерний элемент Treewalker, я получаю ошибку от плагина Maven, но не от плагина Eclipse, однако я могу заставить его работать только с плагином Eclipse.

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Я использую Checkstyle 8.12 с Eclipse, но не нашел способа использовать иное, чем 6.18 с Maven

Вы должны переопределить зависимость в maven, чтобы ввести более новые версии Checkstyle,По умолчанию плагин maven будет использовать только 6.18, но он может быть переопределен для более новых версий.

См. https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/upgrading-checkstyle.html

0 голосов
/ 21 октября 2018

Похоже, вы определили контрольный стиль как зависимость, а не как плагин.

Использование руководства на Apache Maven Checkstyle Мне удалось использовать контрольный стиль для моих личных проектов.Это фрагмент из plugins раздела моего pom.xml:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <id>verify-style</id>
            <phase>process-classes</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>

    <configuration>
        <logViolationsToConsole>true</logViolationsToConsole>
        <configLocation>yourcheckstylexmlhere.xml</configLocation>
    </configuration>
</plugin>

Maskime на GitHub:

Уважаемый читатель, если вы гуглиливаш путь здесь, как я сделал, решение состоит в том, чтобы переместить <module name="SuppressionCommentFilter"/> в модуль TreeWalker.

Я пробовал это исправление с версией, которую вы используете, а это не такдай ошибку больше.

...