检查样式不起作用

发布于 2024-08-30 13:41:52 字数 883 浏览 7 评论 0原文

我是 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 ,它不应该向我抱怨该错误吗?

我还缺少什么配置?

I am new to maven and chekstyle, so need to ask some question... I want to use checkstyle in my maven based project, so in my pom.xml I have add the dependency

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

and also I have added the entry in plugin tag:

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

But when I run my maven build with command mvn clean install, checkstyle doesn't do anything. And as I dont have any checkstyle.xml in my system yet, shouldn't it complains me about the error?

What else configuration am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

信愁 2024-09-06 13:41:53

我想在我的基于 Maven 的项目中使用 checkstyle,所以在我的 pom.xml 中我添加了依赖项 (...)

你不需要添加这个依赖项,你只需要声明插件(一个插件声明它的自己的依赖项)。

(...)但是当我使用命令 mvn clean install 运行我的 Maven 构建时,checkstyle 不会执行任何操作。

是的,因为您只声明插件,所以您没有绑定check 目标是生命周期阶段,因此正常构建不会触发 checkstyle 插件。如果您希望 checkstyle:check 作为构建的一部分被触发,您需要在执行中声明 check 目标(它默认将自身绑定到 验证阶段)。像这样:

<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 显式调用,或者如果您按照建议修改设置,则作为构建的一部分)。

I want to use checkstyle in my maven based project, so in my pom.xml I've add the dependency (...)

You don't need to add this dependency, you just need to declare the plugin (a plugin declares its own dependencies).

(...) But when I run my maven build with command mvn clean install, checkstyle doesn't do anything.

Yes because you only declared the plugin, you did not bind the check goal to a lifecycle phase, so a normal build doesn't trigger the checkstyle plugin. If you want checkstyle:check to be triggered as part of your build, you need to declare the check goal inside an execution (it binds itself by default to the verify phase). Something like this:

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

Now, calling any phase including verify will invoke checkstyle.

And as I don't have any checkstyle.xml in my system yet, shouldn't it complains me about the error?

It will... when called (either explicitly by mvn checkstyle:check or as part of the build if you modify your setup as suggested).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文