2012-06-19 9 views
5

Pracuję nad próbą uzyskania Checkstyle pracy w Maven w Eclipse Indigo IDE na chwilę. W końcu pomyślałem, że poproszę o radę eksperta w tej sprawie.Maven Checkstyle: Sprawdź, czy nie działa

Używam Eclipse Indigo i próbuję skonfigurować Checkstyle, aby działał w Maven.

Poniżej znajduje się fragment mojego pliku pom.xml. Tylko checkstlye: checkstlye działa i tworzy raporty.

======

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

Niektóre z rzeczy, które nie działają to:

  1. configLocation dla niestandardowego checkstlye jest ignorowany i zawsze domyślnie do Sun checkstlye.
  2. Nie mogę uruchomić checkstlye: sprawdź. Dostaję poniżej błędu. Jaki cel powinienem uruchomić, aby styl kontrolny: sprawdzić biegi. Nie udało się wykonać celu org.apache.maven.plugins: maven-checkstyle-plugin: 2.9.1: sprawdź (domyślnie-cli) w projekcie zzz-web: masz 5950 naruszeń w stylu Checkstyle
  3. Czy ustawienie konfiguracji jest odpowiednie dla błędu kompilacja, jeśli liczba naruszeń przekroczy 7000?
  4. Raport Checkstyle nie może odwoływać się do kodu Java z raportu. Na przykład, jeśli próbuję drążyć dane z pakietu do klas Java, a następnie kliknę na numer wiersza naruszenia, nie zajmie mi to pliku Java. Być może nie skonfigurowałem poprawnie wtyczki jxr.

Mając nadzieję na szybką odpowiedź.

Z góry dziękuję. Varma

Odpowiedz

7

Podłączyłeś fazę check celem maven checkstyle plugin do compile. W takim przypadku musisz uruchomić mvn compile dla swoich konfiguracji, które będą używane. Uruchamianie mvn checkstyle:check będzie korzystać z domyślnych konfiguracji. Wygląda to jak najbardziej prawdopodobny przypadek dla pozycji 1 i 2 powyżej.

Nawet jeśli było uruchomić mvn compile powyższą konfigurację nadal nie będzie się budować na rachunek dwóch wpisów konfiguracyjnych failOnViolation i failOnError ponieważ oboje są ustawione na true. Usunięcie tych wpisów i uruchomienie mvn compile powinno zakończyć się budową, o ile liczba naruszeń jest mniejsza niż 7000.

+0

Dzięki Raghuram! Doceniam Twoją pomoc. – AVarma

+2

@AVarma.Oczywiście, możesz chcieć przejąć i/lub [zaakceptować odpowiedź] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), aby pomóc innym w przyszłości. – Raghuram

+0

problem/rozszerzenie jest zgłaszane - https://issues.apache.org/jira/browse/MCHECKSTYLE-314 –

0

1.configLocation dla niestandardowej checkstlye jest ignorowany i zawsze domyślnie jest to checkstlye Sun.

W tym celu proszę skorzystać z poniższego tagu:>

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

w pom.xml projektu, na którym za pomocą checkstyle.this linia będzie na górze i poniżej znacznika pom.xml.

<version>0.0.1-SNAPSHOT</version> 
Powiązane problemy