Maven检查样式作为构建的一部分

时间:2012-08-29 14:52:43

标签: java maven checkstyle

如果有一些checkstyle错误,是否有可能以某种方式强制maven使构建失败?现在,我必须运行site目标来生成javadocscheckstyle报告。我想在install目标上进行,如果checkstyle有一些错误,我需要构建失败。这有可能实现吗?

现在我在maven的报告块中有checkstyle

<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>

3 个答案:

答案 0 :(得分:29)

您需要将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>

答案 1 :(得分:5)

问题可能已经有一段时间了,但这对我来说并不适用。

对于可能与我有相同问题的其他任何人,尽管存在大量问题,但构建成功,我通过将violationSeverity属性从其默认error降低到{{1在插件的warning块中。

答案 2 :(得分:0)

即使问了很长时间,我确实遇到了另一个问题:

JavadocMethod: Unable to get class information for @throws tag 'X'.

我通过改变&#34;验证&#34;的阶段来解决这个问题。到&#34;测试&#34;所以checkstyle在编译阶段之后运行。