5

私はしばらくの間、EclipseIndigoIDEのMavenでCheckstyleを機能させることに取り組んできました。最後に、これについて専門家のアドバイスをお願いしたいと思いました。

Eclipse Indigoを使用していて、Mavenで実行するようにCheckstyleを構成しようとしています。

以下は私のpom.xmlのスニペットです。checkstyle:checkstyleレポートを作成しているだけです。

    <profile>
        <id>checkstyle-profile</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.9.1</version>
                    <configuration>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        <configLocation>${basedir}/src/main/resources/maven_checks.xml</configLocation>
                    </configuration>
                    <executions>
                        <execution>
                            <id>checkstyle-check</id>
                            <goals>
                                <goal>check</goal>
                            </goals>
                            <phase>compile</phase>  <!--  Default is "verify" -->
                            <configuration>
                                <violationSeverity>error</violationSeverity>
                                <maxAllowedViolations>7000</maxAllowedViolations>
                                <failOnViolation>true</failOnViolation>
                                <failsOnError>true</failsOnError>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>   
            </plugins>
        </build>
    </profile>

</profiles>

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.9.1</version>
            <configuration>
                <configLocation>${basedir}/src/main/resources/maven_checks.xml</configLocation>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
            <version>2.3</version>
        </plugin>
    </plugins>
</reporting>    

動作していないもののいくつかは次のとおりです。

  1. カスタムcheckstlyeのconfigLocationは無視され、常にデフォルトでSuncheckstlyeになります。
  2. 実行できませんcheckstlye:check。以下のエラーが発生します。実行するためにどのターゲットを実行する必要がありますかcheckstyle:check。プロジェクトzzz-webで目標org.apache.maven.plugins:maven-checkstyle-plugin:2.9.1:check(default-cli)を実行できませんでした:5950のCheckstyle違反があります
  3. 違反の数が7000を超えた場合にビルドを失敗させるための構成設定は正しいですか?
  4. Checkstyleレポートは、レポートからJavaコードを相互参照できません。したがって、たとえば、パッケージからJavaクラスにドリルダウンしてから、違反の行番号をクリックしようとしても、Javaファイルに移動しません。たぶん私はjxrプラグインを正しく設定していません。

迅速な対応を期待しています。

前もって感謝します。バルマ

4

3 に答える 3

7

フェーズへのバインドされcheckた目標があります。その場合、構成を使用するには実行する必要があります。実行中はデフォルト構成を使用します。これは、上記の項目 1 と 2 の最も可能性の高いケースのように見えます。maven checkstyle plugincompilemvn compilemvn checkstyle:check

上記の構成を実行mvn compileしたとしても、2 つの構成エントリがfailOnViolationありfailOnError、両方が に設定されているため、ビルドは失敗しますtrue。これらのエントリを削除して実行mvn compileすると、違反の数が 未満である限り、ビルドに合格するはずです7000

于 2012-06-20T06:17:40.100 に答える
0

カスタム checkstyle の 1.configLocation は無視され、常にデフォルトで Sun checkstyle になります。

これには、以下のタグを使用してください。

<properties<checkstyle.config.location>properties/checkstyle.xml</checkstyle.config.location>  </properties>

checkstyle.this 行を使用するプロジェクトの POM.xml で、pom.xml のタグの上と下に配置します。

<version>0.0.1-SNAPSHOT</version>
于 2014-05-20T04:42:21.340 に答える