2012-06-19 34 views
5

Tôi đã cố gắng để có được Checkstyle làm việc trong Maven trong IDE Indigo Eclipse trong một thời gian. Cuối cùng, tôi nghĩ rằng tôi sẽ yêu cầu một số chuyên gia tư vấn về điều này.Maven Checkstyle: Kiểm tra không hoạt động

Tôi đang sử dụng Eclipse Indigo và cố gắng định cấu hình Checkstyle để chạy trong Maven.

Dưới đây là một đoạn tệp pom.xml của tôi. Chỉ checkstlye: checkstlye đang làm việc và tạo các báo cáo.

======

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

Một số trong những điều mà không phải là làm việc là:

  1. configLocation cho một checkstlye tùy chỉnh đã được bỏ qua và luôn luôn mặc định đến Sun checkstlye.
  2. Tôi không thể chạy checkstlye: kiểm tra. Tôi nhận được lỗi dưới đây. Tôi nên chạy mục tiêu nào để kiểm tra kiểu: kiểm tra chạy. Không thể thực hiện mục tiêu org.apache.maven.plugins: maven-checkstyle-plugin: 2.9.1: kiểm tra (default-cli) trên dự án zzz-web: Bạn có 5950 vi phạm Checkstyle
  3. Cài đặt cấu hình có đúng không xây dựng nếu số lượng vi phạm crossess 7000?
  4. Báo cáo kiểu kiểm tra không thể tham chiếu chéo mã Java từ báo cáo. Vì vậy, ví dụ, nếu tôi cố gắng đi sâu từ gói đến các lớp Java và sau đó bấm vào số dòng của vi phạm, nó không đưa tôi đến tệp Java. Có lẽ tôi chưa cấu hình đúng plugin jxr.

Hy vọng có phản hồi nhanh.

Xin cảm ơn trước. Varma

Trả lời

7

Bạn đã ràng buộc check mục tiêu của maven checkstyle plugin đến compile giai đoạn. Trong trường hợp đó, bạn cần chạy mvn compile để sử dụng cấu hình của mình. Chạy mvn checkstyle:check sẽ sử dụng cấu hình mặc định. Điều này có vẻ như trường hợp có khả năng nhất đối với các mục 1 và 2 ở trên.

Ngay cả khi bạn chạy mvn compile cấu hình ở trên sẽ vẫn không thể xây dựng trên tài khoản của hai mục nhập cấu hình failOnViolationfailOnError vì cả hai thiết lập đều được đặt thành true. Xóa các mục nhập này và chạy mvn compile phải vượt qua bản dựng miễn là số lượng vi phạm ít hơn 7000.

+0

Cảm ơn Raghuram! Đánh giá cao sự giúp đỡ của bạn. – AVarma

+2

@AVarma.Chắc chắn, bạn có thể muốn upvote và/hoặc [chấp nhận câu trả lời] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) để giúp những người khác trong tương lai. – Raghuram

+0

vấn đề/tăng cường được báo cáo - https://issues.apache.org/jira/browse/MCHECKSTYLE-314 –

0

1.configĐịa điểm cho một checkstlye tùy chỉnh đang bị bỏ qua và luôn luôn mặc định là Sun checkstlye.

Đối với điều này xin vui lòng sử dụng dưới tag:>

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

trong pom.xml của bạn của dự án mà sử dụng checkstyle.this hàng của bạn sẽ được trên đầu và dưới tag của pom.xml.

<version>0.0.1-SNAPSHOT</version> 
Các vấn đề liên quan