2010-04-30 4 views
2

Я новичок в Maven и chekstyle, поэтому необходимо задать некоторые вопросы ... Я хочу использовать Checkstyle в моем проекте на основе Maven, поэтому в моем pom.xml у меня есть добавить зависимостьCheckstyle не работает

<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, разве это не должно мне жаловаться на ошибку?

Какую еще конфигурацию мне не хватает?

+0

вы также можете взглянуть на [qulice-maven-plugin] (http://www.qulice.com/qulice-maven-plugin/index.html), который объединяет Checkstyle, PMD, FindBugs и несколько других статические анализаторы и предварительно конфигурируют их – yegor256

ответ

7

Я хочу использовать Checkstyle в моем проекте на основе Maven, так что в моем pom.xml Я добавить зависимость (...)

Вам не нужно добавить эту зависимость, вам просто нужно объявить плагин (плагин объявляет свои собственные зависимости).

(...) Но когда я запускаю свою сборку maven с помощью команды mvn clean install, 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, либо как часть сборки, если вы измените настройку, как предложено).

 Смежные вопросы

  • Нет связанных вопросов^_^