23

checkstyle如果出现一些错误,是否有可能以某种方式强制 maven 使构建失败?现在我必须运行site目标来生成javadocscheckstyle报告。我想实现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>
4

3 回答 3

31

您需要绑定checkstyle:check到 Maven 生命周期阶段(例如 validate )并设置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>
于 2012-08-29T15:09:04.203 回答
5

自从提出问题以来可能已经有一段时间了,但这对我不起作用。

对于可能遇到与我相同问题的其他任何人,尽管存在许多问题,但构建成功,我通过将violationSeverity属性从默认值降低errorwarning插件configuration块中来修复它。

于 2017-02-16T14:02:48.253 回答
0

尽管已经很久没有被问到这个问题了,但我确实遇到了另一个问题:

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

我通过将阶段从“验证”更改为“测试”来解决这个问题,以便 checkstyle 在编译阶段之后运行。

于 2017-10-27T18:20:19.683 回答