Стиль проверки Maven как часть сборки
Есть ли возможность каким-то образом заставить maven сбой сборки, если есть некоторые ошибки checkstyle
? Теперь я должен запустить цель site
для генерации отчетов javadocs
и checkstyle
. Я хочу сделать это на install
цели, и если checkstyle имеет некоторую ошибку, мне нужно построить для сбоя. Можно ли это достичь?
Теперь у меня есть checkstyle
в блоке отчетности maven:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<configLocation>src/test/resources/checkstyle.xml</configLocation>
</configuration>
</plugin>
</plugins>
</reporting>
Ответы
Ответ 1
Вам нужно привязать checkstyle:check
к фазе жизненного цикла Maven (например, проверить) и установить failOnViolation
в true.
Что-то вроде:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<id>checkstyle</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<failOnViolation>true</failOnViolation>
</configuration>
</execution>
</executions>
</plugin>
Ответ 2
Возможно, прошло некоторое время с тех пор, как был задан вопрос, но это не работало для меня.
Для любого другого, у кого может быть такая же проблема, как и я, с последующим построением, несмотря на множество проблем, я исправил его, понизив свойство violationSeverity
по умолчанию от error
до warning
в плагине configuration
.
Ответ 3
Несмотря на то, что с тех пор прошло много времени, я столкнулся с другой проблемой:
JavadocMethod: Unable to get class information for @throws tag 'X'.
Я решил это, изменив фазу с "validate" на "test", чтобы контрольный стиль выполнялся после фазы компиляции.