【问题标题】:Checkstyle not working检查样式不起作用
【发布时间】:2011-02-14 09:35:22
【问题描述】:

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

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

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

我还缺少什么配置?

【问题讨论】:

  • 你也可以看看qulice-maven-plugin,它结合了 Checkstyle、PMD、FindBugs 和其他一些静态分析器,并预先配置了它们

标签: maven-2 checkstyle


【解决方案1】:

我想在基于 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>

现在,调用包括verify 在内的任何阶段都会调用checkstyle。

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

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

【讨论】:

    猜你喜欢
    • 2017-04-28
    • 2019-02-22
    • 2014-12-22
    • 2014-06-05
    • 2018-11-01
    • 2018-11-22
    • 2018-05-10
    • 2021-11-20
    相关资源
    最近更新 更多