Eclipse Checkstyle Plugin показывает разные результаты, которые maven-checkstyle-plugin
Недавно я пытаюсь настроить Checkstyle на Jenkins (который использует результаты проверки Maven). Моя проблема в том, что контрольный стиль затмения показывает различное количество нарушений контрольного стиля. Я использую один и тот же XML-файл с правилами checkstyle для maven и eclipse.
Eclipse Checkstyle Plugin 8.12.0 - ~ 500 нарушений maven-checkstyle-plugin 3.0.0 - более 5000 нарушений
Для ошибок затмения я вижу в основном NPath Complexity и предупреждения "String появляется X раз в файле".
Для Maven chekstyle 2000 предупреждениями являются "В конце строки есть пробелы" (в Eclipse такого предупреждения нет). Есть также много предупреждений ConstantNameCheck, RegexpSinglelineJavaCheck, VisibilityModifierCheck.
Я предполагаю, что оба плагина работают по-разному, но есть ли способ заставить его показывать похожие предупреждения?
Например: в простом модуле проекта я получил 4 нарушения затмения для сложности NPath. Для файла TestHandler.java он показывает: "Сложность NPath: 13 разрешено, это 8". В Maven я получил 6 нарушений, и большинство из них разные. Только один из них говорит, что та же фраза в TestHandler.java "Сложность NPath составляет 13, разрешено 4".
Вот как выглядит проверка целостности в xml, которую используют оба стиля:
</module>
<module name="CyclomaticComplexity">
<property name="max" value="6" />
</module>
<module name="NPathComplexity">
<property name="max" value="8" />
</module>
Я запускаю Maven Chestyle, просто используя mvn clean install checkstyle: checkstyle или на jenkis. Я использую самую базовую конфлагенцию maven plugin в pom. Более подробная информация может быть предоставлена в случае необходимости.
1 ответ
Я сделал изменения в главной помпе, как вы предложили. Я также удалил нарушения Javadoc из файла checkstyle.xml. В настоящее время на затмении я получил ~510, на Intelij ~3100 и в Maven checkstyle ~ 3800. Как я проверял, существуют различия в нарушениях по каждому из этих трех. Это фрагмент моей конфигурации POM для checkstyle:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.18</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>common\code-style\checkstyle2.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>