Стиль проверки 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", чтобы контрольный стиль выполнялся после фазы компиляции.