【问题标题】:How to display custom message on Maven build failure如何在 Maven 构建失败时显示自定义消息
【发布时间】:2013-05-13 17:16:02
【问题描述】:

当我运行干净的 Maven 配置文件构建(“mvn clean install -PmyProfile”)时,我希望能够在构建失败时向用户显示自定义的静态文本消息。

例如,从这个:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:54.666s
[INFO] Finished at: Mon May 13 10:44:48 MDT 2013
[INFO] Final Memory: 27M/81M
[INFO] ------------------------------------------------------------------------

到这里:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:54.666s
[INFO] Finished at: Mon May 13 10:44:48 MDT 2013
[INFO] Final Memory: 27M/81M
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] For troubleshooting steps for your build, go to http://www.somewhere.com
[INFO]
[INFO] If you continue to have trouble, email Some Guy at some_guy@somewhere.com
[INFO]

这在 Maven 中可行吗?

【问题讨论】:

  • 您必须更改 Maven 源代码。
  • 我不清楚如果单元测试失败,更改 maven 源将如何允许 me 消息显示一些静态文本。你能解释一下吗?
  • 您在帖子中描述的输出来自 Maven 本身。问题是你为什么需要这样的东西?如果测试失败,您会收到相应的消息。
  • 我们有一个非常庞大、复杂、不断变化的开发环境,其中的失败可能不是真正的失败。我正在研究如何向开发人员和测试人员发送有关构建的信息以及他们可以在哪里解决任何中断的问题。在故障点而不是其他方式提供这些选项对我们来说是有意义的。上面是一个很简单的例子。
  • 开发环境的变化真的会导致构建失败吗?比我认为有问题。 mvn clean packagemvn install 应从持续集成系统或命令行运行。此外,如果您有多个环境,那么为这些环境构建并稍后在其上部署结果可能是明智的。在集成测试的情况下,您可以创建一个报告(maven 站点或像 Jenkins 这样的持续集成),它显示哪些测试用例失败了,这表明了失败的原因。

标签: java unit-testing maven


【解决方案1】:

使用处理 MojoFailureException 的组件:

@Component
private MojoExecution execution;

public void execute() throws MojoExecutionException, MojoFailureException 
  {
  for (Artifact artifact : (Collection<Artifact>) execution.getMojoDescriptor().getPluginDescriptor().getArtifacts()) 
    {
    getLog().info("Artifact: " + artifact);
    }
  }

参考文献

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-21
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    相关资源
    最近更新 更多