2

私はmavenとchekstyleが初めてなので、質問する必要があります... mavenベースのプロジェクトでcheckstyleを使用したいのでpom.xml、依存関係を追加しました

<dependency>
   <groupId>checkstyle</groupId>
   <artifactId>checkstyle</artifactId>
   <version>2.4</version>
</dependency>

また、プラグインタグにエントリを追加しました:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-checkstyle-plugin</artifactId>
  <version>2.4</version>
  <configuration>
    <enableRulesSummary>true</enableRulesSummary>
    <configLocation>checkstyle.xml</configLocation>
  </configuration>
</plugin>

しかし、コマンドで maven ビルドを実行するとmvn clean install、checkstyle は何もしません。そしてcheckstyle.xml、システムにまだ何も持っていないので、エラーについて不平を言うべきではありませんか?

他にどのような構成がありませんか?

4

1 に答える 1

8

Maven ベースのプロジェクトで checkstyle を使用したいので、pom.xml に依存関係を追加しました (...)

この依存関係を追加する必要はありません。プラグインを宣言するだけです (プラグインは独自の依存関係を宣言します)。

(...) しかし、コマンド mvn clean install で maven ビルドを実行すると、checkstyle は何もしません。

はい、プラグインを宣言しただけで、目標をライフサイクル フェーズにバインドしなかったcheckため、通常のビルドでは checkstyle プラグインがトリガーされません。ビルドの一部としてトリガーされるようにする場合は、実行内でゴールcheckstyle:checkを宣言する必要がありますcheck(デフォルトでverifyフェーズにバインドされます)。このようなもの:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-checkstyle-plugin</artifactId>
  <!-- Lock down plugin version for build reproducibility -->
  <version>2.5</version>
  <configuration>
    <consoleOutput>true</consoleOutput>
    <configLocation>checkstyle.xml</configLocation>
    ...
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>check</goal>
      </goals>
    </execution>
  </executions>
</plugin>

これで、含む任意のフェーズをverify呼び出すと、checkstyle が呼び出されます。

また、私のシステムにはまだ checkstyle.xml がないので、エラーについて不平を言うべきではありませんか?

それは...呼び出されたときです(mvn checkstyle:check提案されたようにセットアップを変更した場合、ビルドによって明示的に、またはビルドの一部として)。

于 2010-04-30T21:15:05.130 に答える