无法在Maven多模块项目中配置Checkstyle

时间:2015-09-07 10:30:01

标签: java xml eclipse maven checkstyle

我正在使用Eclipse中的Java multimodule项目。我必须将Checkstyle配置为我的Maven构建,并在发生任何违规时使构建失败。 我在本网站上发现了推荐使用本教程:https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html我决定遵循它。

我已使用 checkstyle.xml 添加了新的子文件夹 build-tools ,并在项目的 pom.xml中进行了所有更改

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>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.16</version>
        <dependencies>
          <dependency>
            <groupId>com.softserveinc.ita</groupId>
            <artifactId>build-tools</artifactId>
            <version>1.0</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.16</version>
        <configuration>
          <configLocation>build-tools/src/main/resources/jresume/checkstyle.xml</configLocation>
          <headerLocation>build-tools/src/main/resources/jresume/LICENSE.txt</headerLocation>
          <failsOnError>true</failsOnError>
        </configuration>
      </plugin>
    </plugins>
  </reporting>

  <modules>
    <module>common</module>
    <module>persistence</module>
    <module>business</module>
    <module>logging</module>
    <module>web</module>
    <module>build-tools</module>
  </modules>
</project>

当我写一些带有checkstyle违规的java代码时 Maven install 给了我SUCCES但我必须因为违规而使项目失败。哪里出错了?也许我写了一个错误的路径到我的checkstyle.xml?请帮帮我。

1 个答案:

答案 0 :(得分:0)

将配置更改为:

    <configLocation>jresume/checkstyle.xml</configLocation>
    <headerLocation>jresume/LICENSE.txt</headerLocation>

这些参数与您的源文件夹相关。

如果查看com.softserveinc.ita:build-tools:1.0的jar文件,您会发现没有src/main/resources

此外,您应该安装/部署com.softserveinc.ita:build-tools:1.0如果您在工作区中有项目,Eclipse通常会为您解决此问题,但我不确定此机制是否适用于插件的依赖项。

此外,听起来好像您希望在<build>生命周期中失败构建,而不是<reporting>生命周期(站点)。查看https://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html

的最后一部分