当前位置: 首页 > 面试题库 >

Jenkins Maven多模块作业中重复的Checkstyle警告

司徒良哲
2023-03-14
问题内容

我有一个带有聚合器pom和一堆子模块的jenkins maven工作。当詹金斯显示checkstyle警告时,它会像这样:

  • 子模块1:10个警告
  • 子模块2:10条警告
  • 聚合器模块:20条警告

  • 总计:40个警告

换句话说,聚合器(正确地?)聚合了在子模块中发现的警告,如果不是这样的话,这并不是一个大问题,因为 总和 将变成应有的两倍。

有谁知道是什么问题吗?谢谢!


问题答案:

这取决于您使用的是Freestyle项目类型还是Evil
Maven项目类型

如果使用的是自由样式,则只需设置checkstyle.xml结果模式即可排除聚合器或子项目。

如果您使用的是邪恶同级,则可能需要调整“每模块”配置以禁用子模块的报告。

这里的问题是,聚合器模块正在从子项目中复制警告,以生成聚合报告。

当作业在Jenkins上运行时,您也可以禁用聚合。

从本质上讲,这是在邪恶项目类型的自动嗅探“魔术”与maven-checkstyle-plugin实现汇总报告的方式之间的斗争。



 类似资料:
  • 也许有一个特殊的插件为这个特殊的情况? 提前致谢

  • 我使用作为Gradle项目中的CheckStyle配置。 但是,我不知道如何让它在我的项目根目录中而不是在默认的路径中查找这个文件。我如何将它指向另一个位置? 如果我设置,它就会满足我的要求,但我们又回到了我不想修改的问题上。 似乎我需要以某种方式设置系统属性,但我不确定在我的Gradle配置文件中的何处进行此操作,或者将其设置为什么。

  • 以下是我正在努力实现的目标: 批处理作业服务器,为我的应用程序的作业提供一个统一的入口点,并为作业提供一个集中的运行位置,它构建在Spring batch的基础上 不同的应用程序可以创建自己的作业包,并在批处理作业服务器下“部署”。“bundle”将包含作业定义、依赖项jar等。 应用程序作业捆绑包应该是自包含的:两个作业捆绑包可以具有相同类的不同版本(也就是说,对于不同的捆绑包,最好有单独的类加

  • 我的目标是生成一个包含来自这两个模块的信息的聚合checkstyle报告。当我运行“Gradle CheckStyleMain”时,聚合的html报告只包含来自module2的checkstyle报告信息,而忽略module1信息。

  • 我在Sonarqube有一个多模块项目。到目前为止,其中一个模块还没有进行任何单元测试。现在我在这个模块中添加了一个单元测试,项目的总体覆盖范围就减少了!是否意味着当一个模块没有测试时,它根本不包括在全局覆盖计算中?

  • 然而,我发现实际的构建顺序是不同的...build之后,实际的订单看起来像; 在这种情况下,Maven从哪里获取构建命令?