2012-06-19 45 views
5

Eclipse Indigo IDEでMavenでCheckstyleをしばらく使用しようとしています。最後に、私はこれに関するいくつかの専門的助言を求めるつもりだと思った。Maven Checkstyle:動作していないことを確認してください

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

以下は、私のpom.xmlのスニペットです。 checkstlye:checkstlyeだけが作業しており、レポートを作成しています。

======

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

働いていないものは以下のとおりです。カスタムcheckstlyeため

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

迅速な対応のために願っています。

ありがとうございます。 Varma

答えて

7

checkの目標は、maven checkstyle pluginからcompileのフェーズです。その場合、設定を使用するにはmvn compileを実行する必要があります。 mvn checkstyle:checkを実行すると、デフォルト設定が使用されます。これは上記のアイテム1と2の最も可能性の高いケースのようです。あなたがそれらの両方がtrueに設定されているので、上記の構成は、まだ2つの構成エントリfailOnViolationfailOnErrorのためにビルドを失敗しますmvn compileを実行していたとしても

。これらのエントリを削除してmvn compileを実行すると、違反回数が7000未満である限りビルドに合格するはずです。

+0

ありがとうRaghuram!あなたの助けに感謝。 – AVarma

+2

@AVarma。確かに、将来的に他人を助けるために、アップヴォートや[回答を受け入れる](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)をしたいかもしれません。 – Raghuram

+0

問題が報告されました - https://issues.apache.org/jira/browse/MCHECKSTYLE-314 –

0

1.カスタムcheckstlyeのconfigLocationは無視され、常にデフォルトのSun checkstlyeです。このタグの下に使用してくださいについては

:>あなたの使用してcheckstyle.thisラインが上とのpom.xmlのタグの下になりますどのプロジェクトのあなたのpom.xmlで

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

<version>0.0.1-SNAPSHOT</version> 
関連する問題