web-dev-qa-db-ja.com

ビルドの一部としてのMavenチェックスタイル

checkstyleエラーがある場合、どういうわけかMavenにビルドを失敗させる可能性はありますか?次に、siteゴールを実行してjavadocsおよびcheckstyleレポートを生成する必要があります。私は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>
23

バインドする必要があります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>
30
hgrey

質問されてからしばらく経っていたかもしれませんが、これはうまくいきませんでした。

私と同じ問題を抱えている可能性のある他の人のために、多くの問題にもかかわらずビルドが成功したので、violationSeverityプロパティをデフォルトのerrorからwarningプラグインのconfigurationブロック内。

5
JChrist

これが尋ねられてから長い時間が経ちましたが、私は別の問題に遭遇しました:

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

コンパイルフェーズの後にcheckstyleが実行されるように、フェーズを「validate」から「test」に変更することでこれを解決しました。

0
Garret Fick