Maven 的综合站点/部署目标

2024-01-14

在 CI 服务器上运行 Maven 构建时,我生成站点来发布文档和报告,并将工件部署到快照存储库以供其他项目使用。为此,我设定了以下目标:

mvn clean site deploy

这意味着单元测试已运行twice,一次用于站点生命周期,一次用于部署生命周期。如果我将站点目标配置为绑定到标准生命周期,测试仍然会运行两次,运行站点目标总是会导致测试运行,因为@requiresDependencyResolution 测试注解。如果您只创建站点,这很好,但在部署的上下文中,它会大大增加构建时间,但没有任何好处。

我有一个解决方法,涉及将 SiteMojo (和所需的父级)复制到新插件并删除@requiresDependencyResolution 测试副本中的注释。

这个修改后的魔力将生成报告,而不会强制再次运行测试,但我更喜欢一个不涉及对网站插件进行任何黑客攻击的解决方案。有没有办法抑制 requireDependencyResolution 注释?


我很惊讶这有效 -@requiresDependencyResolution test标签实际上并不会触发正在构建的测试 - 这应该是您包含的报告之一。通常,我建议在 CI 中单独的 Maven 执行中运行站点和构建,这样您就可以获得有关构建的快速反馈,并仅在成功时发布最新站点。

另一种选择是将其运行为mvn clean deploy site,并选择report-only魔力surefire-report-maven-plugin(这通常是再次运行测试的报告)。这将使用之前的测试结果。当然,另一种选择是完全禁用该报告,因为无论如何您都可能从其他来源(例如 CI 服务器)获得这些结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven 的综合站点/部署目标 的相关文章

随机推荐

  • 受保护的成员/字段真的那么糟糕吗?

    现在 如果您阅读 MSDN 中 C 的命名约定 您会注意到它指出属性始终优先于公共字段和受保护字段 有些人甚至告诉我 你永远不应该使用公共或受保护的领域 现在我同意我还没有找到需要拥有公共领域的理由 但受保护的领域真的那么糟糕吗 如果您需要
  • 原始变量和引用变量的内存分配[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions type name 对于引用类型 这
  • Java:返回 java.util.Date 格式的字符串[重复]

    这个问题在这里已经有答案了 我将以 201201 格式接收输入 即 YYYYMM 格式 现在我想按原样返回值 201201 但它应该采用 java util Date 格式 我很困惑 String strDate 201201 Simple
  • Hadoop 溢出故障

    我目前正在开发一个使用 Hadoop 0 21 0 985326 以及一个由 6 个工作节点和一个头节点组成的集群的项目 提交常规 MapReduce 作业失败 但我不知道为什么 以前有人见过这个异常吗 org apache hadoop
  • MS-SQL 查询 - 更新通过存储过程检索的记录

    UPDATE 现在范围已经稍微扩大了 我现在需要检索字段 Id uri linkTo 这如何改变事情 我正在使用 MS SQL 2005 数据库并具有以下存储过程 CREATE PROCEDURE dbo getNewAds region
  • 将数据发送到单独的窗口 javascript

    我使用以下命令从现有页面创建了一个新的弹出窗口 window open myUrl myName width 200 height 200 现在 在该弹出窗口上 我有一个文本输入和一个按钮 我想为按钮创建一个 onclick 方法 将文本输
  • 三星 G5 setvisibility 出现空指针异常

    Android 应用代码可在各种设备上成功运行 包括早至 API 14 至 API 19 目标 但是 Samsung G5 v4 4 4 在尝试为活动设置 Visibilty true 时会抛出 NPE 此错误可能仅在最近通过 Sprint
  • 编组通知包

    我正在尝试将通知对象写入文件 我能找到的最好方法是将对象写入包 编组该包以获取字节 然后将其写入文件 Parcel notif Parcel obtain notification writeToParcel notif 0 byte no
  • 当 Go 返回多个值时到底发生了什么

    Go 函数和方法可以返回多个值 func learnMultiple x y int sum prod int return x y x y return two values 总和 产品 learnMultiple 10 50 是不是和返
  • 是否可以更改 Java ME 中的垃圾收集行为?

    我想知道是否可以调整垃圾收集器在 JavaMe 上的工作方式 以某种方式提高性能 可能会减少段落数量 我看过一些关于它的文章 但大多是针对 Java SE 的 其中大多数都说 GC 高度依赖于制造商 那会是多少呢 垃圾收集器何时被触发在很大
  • 如何在Featuretools中实现加权和变换基元?

    我试图弄清楚如何为Featuretools 实现加权总和原语 权重应取决于 time since last 就像 cum sum 金额 sum i exp a i amount i where i正在滚动 6 个月期 在上面你可以找到原来的
  • 当弹出窗口处于活动状态时,如何与 ionic 中的后台项目进行交互?

    离子版本 1 x 平台 全部 我有一个使用离子弹出框的离子应用程序 但是 当弹出窗口处于活动状态 打开 时 我无法再与后台中的事物交互 例如向下滚动我的项目列表 我曾尝试寻找此问题的现有答案 但没有看到提出的问题 弹出窗口本身不必绑定到页面
  • AngularJs 如何从轮询服务获取数据到控制器

    我有这个service它检查后端是否有新数据 它工作正常 但问题是我无法使用从服务到控制器的数据 watch也不使用promise SERVICE service notificationPollService function q htt
  • Create-react-app 控制台显示块文件

    I would like to debug some errors happening during my React development As you can see I can t see the source files I am
  • Exoplayer 从字节数组播放音频 - ByteArrayDataSource

    使用 Exoplayer 我尝试播放字节数组中的音频文件 我正在尝试使用 ByteArrayDataSource 但在调用构造函数时出现错误 new ByteArrayDataSource data 这是我想出的代码 private voi
  • 角度表达式在 Chrome 扩展中计算,但在 Edge 扩展中不计算

    我有一个简单的浏览器扩展 使用 Angular v1 6 3 但是浏览器扩展的弹出窗口中的 Angular 表达式无法在 Edge 中计算 但在 Chrome 中却可以 Angular 的表达式很简单 div 2 2 div 当我浏览到相关
  • 排序在 jQuery 数据表中不起作用

    我在一页中有两个内联表 排序适用于一个数据表 但不适用于其他数据表 一次调用两个 div 但排序仅适用于一个数据表 div1 DataTable processing true destroy true paginate true leng
  • 使用 jQuery 和 asp.net 转发器自动完成填充 ID

    我有一个带有自动完成功能的 asp Textbox 数据来自网络服务并返回 Json 数据 当选择一个项目时 它会将一个值 id 放入 隐藏 字段中 并将价格放入另一个文本框中 这一切都很好 但是当我将或多或少相同的代码放入 asp rep
  • 需要在 Python Pandas 中过滤几列并更改其中一列的值

    我有一个包含 150 000 行和 15 列的表 此示例的重要列是 COUNTRY COSTCENTER 和 EXTENSION 我正在将 CSV 读入 Pandas Dataframe 所有列都是对象类型 我想做的是 搜索某个国家 地区
  • Maven 的综合站点/部署目标

    在 CI 服务器上运行 Maven 构建时 我生成站点来发布文档和报告 并将工件部署到快照存储库以供其他项目使用 为此 我设定了以下目标 mvn clean site deploy 这意味着单元测试已运行twice 一次用于站点生命周期 一