【问题标题】:Checkstyle in Maven project. Cannot fail the project in case of violationsMaven 项目中的检查样式。如果违规,项目不能失败
【发布时间】:2015-09-08 15:18:13
【问题描述】:

我对 Java 的 Checkstyle 插件有疑问。如果出现任何违规行为,我需要让整个多模块项目失败。在父 pom.xml 我有以下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ss.ita</groupId>
  <artifactId>jresume</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>
  <name>JResume</name>

  <modules>
    <module>common</module>
    <module>persistence</module>
    <module>business</module>
    <module>logging</module>
    <module>web</module>
  </modules>
  <build>

      <plugins>
      <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-checkstyle-plugin</artifactId>
       <version>2.16</version>
       <executions>
         <execution>
           <id>validate</id>
           <phase>validate</phase>
           <configuration>
             <configLocation>dev/checkstyle.xml</configLocation>
             <encoding>UTF-8</encoding>
             <consoleOutput>true</consoleOutput>
             <failsOnError>true</failsOnError>
             <failOnViolation>true</failOnViolation>
           </configuration>
           <goals>
             <goal>check</goal>
           </goals>
         </execution>
        </executions>
       </plugin>
      </plugins>

  </build>
</project>

我的 checkstyle.xml 放在 dev 文件夹中。

当我运行我的项目时

mvn clean install

它会打印所有违规的列表。但它不能让整个项目失败。它为所有模块打印成功。 我尝试同时使用 failsOnErrorfailOnViolation 。但是没用。In plugin documentation 有这些要求:

  • 需要执行 Maven 项目。
  • 需要对范围内的工件进行依赖性解析:测试。
  • 目标是线程安全的并支持并行构建。
  • 默认绑定到生命周期阶段:验证。

我哪里出错了。也许我以错误的方式编写了我的 pom.xml。请帮我解决这个问题。

【问题讨论】:

  • @ShmulikKlein 我尝试通过本教程完成我的任务。但结果是一样的
  • @Luchnik,你还有这个问题吗?
  • @MichalKordas 不,我添加了“violationSeverity”属性,现在效果很好。不过还是谢谢你的关心

标签: java eclipse maven checkstyle


【解决方案1】:

你可能忘记了

<configuration>
    ...
    <violationSeverity>warning</violationSeverity>
    ...
</configuration>

violationSeverity:被视为违规的最低严重级别。有效值为“error”、“warning”和“info”。

默认值为error,表示warning不会使maven构建失败。

查看更多详情:

http://maven.apache.org/plugins/maven-checkstyle-plugin/check-mojo.html#violationSeverity

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多