Maven 2 检查样式不起作用

Maven 2 检查样式不起作用,maven-2,checkstyle,Maven 2,Checkstyle,我对maven和chekstyle不熟悉,所以需要问一些问题。。。我想在基于maven的项目中使用checkstyle,因此在我的pom.xml中添加了依赖项 <dependency> <groupId>checkstyle</groupId> <artifactId>checkstyle</artifactId> <version>2.4</version> </dependency&g

我对maven和chekstyle不熟悉,所以需要问一些问题。。。我想在基于maven的项目中使用checkstyle,因此在我的
pom.xml
中添加了依赖项

<dependency>
   <groupId>checkstyle</groupId>
   <artifactId>checkstyle</artifactId>
   <version>2.4</version>
</dependency>

代码检查
代码检查
2.4
我还添加了plugin标签中的条目:

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

org.apache.maven.plugins
maven checkstyle插件
2.4
真的
checkstyle.xml
但是当我使用命令
mvncleaninstall
运行maven构建时,checkstyle什么都不做。由于我的系统中还没有任何
checkstyle.xml
,它不应该抱怨我的错误吗

我还缺少什么配置

我想在基于maven的项目中使用checkstyle,因此在pom.xml中添加了依赖项(…)

您无需添加此依赖项,只需声明插件(插件声明其自身的依赖项)

(…)但是当我使用命令mvn clean install运行maven build时,checkstyle什么都不做

是的,因为您只声明了插件,您没有将目标绑定到生命周期阶段,所以正常构建不会触发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>

org.apache.maven.plugins
maven checkstyle插件
2.5
真的
checkstyle.xml
...
检查
现在,调用任何阶段,包括
verify
都将调用checkstyle

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

它会。。。调用时(由
mvn checkstyle:check显式调用,或者如果您按照建议修改设置,则作为构建的一部分进行调用)。

您还可以查看将checkstyle、PMD、FindBugs和其他一些静态分析器组合在一起并预配置它们的方法