Checkstyle不工作

use*_*060 2 maven-2 checkstyle

我是maven和chekstyle的新手,所以需要问一些问题......我想在我的maven项目中使用checkstyle,所以在我pom.xml添加了依赖项

<dependency>
   <groupId>checkstyle</groupId>
   <artifactId>checkstyle</artifactId>
   <version>2.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

而且我在插件标签中添加了条目:

<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>
Run Code Online (Sandbox Code Playgroud)

但是当我使用命令运行我的maven构建时mvn clean install,checkstyle不会做任何事情.而且由于checkstyle.xml我的系统中没有,我不应该抱怨这个错误吗?

我还缺少什么配置?

Pas*_*ent 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>
Run Code Online (Sandbox Code Playgroud)

现在,调用任何阶段包括verify将调用checkstyle.

由于我的系统中还没有任何checkstyle.xml,它不应该抱怨我的错误吗?

当...被调用时(mvn checkstyle:check如果您按照建议修改设置,则显式地或作为构建的一部分).