maven - Checkstyle 在 Maven 中工作,但在 Jenkins 中不起作用

标签 maven jenkins maven-3 jenkins-plugins checkstyle

我正在使用 Maven、Maven checkstyle 插件、Jenkins 和 Jenkins checkstyle 插件。

我总共有7个项目。 1 个父项目和 6 个子项目。

我有以下 3 种情况:

  • 所有 project.n 父 pom 的 Checkstyle 报告我在标签中声明了 checkstyle 插件:
  • 我跑 mvn clean site命令
  • 它在 Eclipse 中使用 Maven 以两种方式工作。在 Jenkins 也是。
  • 为所有 7 个项目提供 checkstyle 报告。
  • 除 2 个项目外的所有项目的 Checkstyle 报告。
  • 我删除了父 pom 中的一部分,并添加了
  • 我添加了剩余的 4 个项目,我在标签中声明了 checkstyle 插件。
  • 它在 eclipse 中工作,但在 Jenkins 中不起作用。

  • 请给出解决方案

    我的代码:
    <reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.10</version>
            <configuration>
                <configLocation>../parent-project/checkstyle.xml</configLocation>
            </configuration>
        </plugin>
    </plugins>
    


    3.
  • 我删除了父级中的 checkstyle 插件
  • 我在与上面代码相​​同的 4 个需要的项目中添加了 checkstyle 插件。
  • 在剩下的 2 个子项目中,我是这样添加的。
    <reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.10</version>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
    

  • 我运行'mvn clean site'
  • 它按预期在 Maven 中工作,但在 Jenkins 中不工作。

  • 我所说的“不在 Jenkins 中工作”的意思是我在 Jenkins 中安装了 checkstyle 插件,在 Jenkins 工作中我选择了“发布 Checkstyle 分析结果”复选框。在场景 1 中,我能够在 jenkins 工作页面中看到 checkstyle 链接。如果我点击所有代码违规报告都会出现。在其他情况下 (2,3) Checkstyle 链接也没有出现。

    最佳答案

    刚刚找到解决方案。

    在项目配置菜单中,在“目标和选项”字段中,您需要添加不带 ' 字符的“站点”。在我的“目标和选项”字段中,我有:全新安装。这没有运行 checkstyle。但后来我将其更改为:全新安装站点。现在 checkstyle 运行了!

    希望这能解决您的问题。

    编辑:

    我的 pom.xml 扩展了标签:

    <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.10</version>
      </plugin>
    </plugins>
    

    运行 checkstyle。尝试仅将其用于 checkstyle,然后再次运行该项目。

    关于maven - Checkstyle 在 Maven 中工作,但在 Jenkins 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18947255/

    相关文章:

    java - 在 Maven 中对类路径进行绝对引用

    java - : com. debatz.mistergift.model.User.token 中的未知 mappedBy,引用属性未知 : com. debatz.mistergift.model.Token.user

    jenkins - 如何在Jenkins中将脚本的某些返回值 "map"更改为 "yellow"状态?

    java - maven-jar-plugin 中的 NPE

    java - 使用 Gretty 插件而不是 Gradle 4.2.1 的 Jetty

    java - Intellij Idea Maven 'cannot reconnect' 错误

    Android Jenkins Ant 构建失败

    jenkins - 在 Jenkins 中使用 Nx 进行 CI/CD 的最佳方式

    Maven - 控制父 pom 和子 pom 以继承父 pom 版本

    api - 任何人都可以给出以编程方式使用 org.apache.maven.cli.MavenCli 的好例子吗?