Maven checkstyle не работает как часть сборки
Я полностью потерян, почему бы и нет. Структура выглядит так:
используя mvn checkstyle: check создает отчеты (у меня идентичные настройки в разделе отчетов), но build рассматривает плагин так, как будто его не существует. Если я изменяю версию контрольного стиля, он не загружается и т. Д. По сути, он рассматривает эту конфигурацию как невидимую.
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.13</version>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
<maxAllowedViolations>2500</maxAllowedViolations>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<failOnViolation>true</failOnViolation>
</configuration>
<executions>
<execution>
<id>checkstyle</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<failOnViolation>true</failOnViolation>
</configuration>
</execution>
</executions>
</plugin>
.....
</plugins>
</pluginManagement>
</build>
0 ответов
Вы можете добавить плагин в pom следующим образом, и он будет работать как часть вашей сборки (mvn clean install):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
<consoleOutput>true</consoleOutput>
<maxAllowedViolations>2500</maxAllowedViolations>
<failsOnError>true</failsOnError>
<failOnViolation>true</failOnViolation>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
Смотрите также: Checkstyle не работает
И на самом деле, для большинства из этих параметров конфигурации (все, кроме failsOnError, у которого нет "пользовательского свойства"), вы можете альтернативно поместить их в ваш pom.xml в качестве свойств:
<properties>
...
<checkstyle.config.location>checkstyle.xml</checkstyle.config.location>
<checkstyle.suppressions.location>checkstyle-suppressions.xml</checkstyle.suppressions.location>
<checkstyle.consoleOutput>true</checkstyle.consoleOutput>
<checkstyle.maxAllowedViolations>2500</checkstyle.maxAllowedViolations>
<checkstyle.failOnViolation>true</checkstyle.failOnViolation>
</properties>
Таким образом, вы можете удалить их из раздела конфигурации плагинов для удобства, хотя любой подход работает. См. https://maven.apache.org/plugins/maven-checkstyle-plugin/check-mojo.html для значений "Свойства пользователя" и т. Д.