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> 
Другие вопросы по тегам