【问题标题】:How do I remove colors from Maven output?如何从 Maven 输出中删除颜色?
【发布时间】:2017-09-24 02:47:22
【问题描述】:

当我在 Jenkins 中运行一个 maven 目标时(例如“mvn test”),由于出现了颜色控制字符,日志很难阅读(参见下面的示例)。无论如何要删除颜色格式吗?

[[1;34mINFO[m] [1m-------------------------------------------------------------------[m
[[1;34mINFO[m] [1;32mBUILD SUCCESS[m
[[1;34mINFO[m] [1m-------------------------------------------------------------------[m
[[1;34mINFO[m] Total time: 16.097 s
[[1;34mINFO[m] Finished at: 2017-04-26T11:23:06-04:00
[[1;34mINFO[m] Final Memory: 41M/100M
[[1;34mINFO[m] [1m-------------------------------------------------------------------[m

【问题讨论】:

  • 你从事什么样的工作? Maven 工作还是 Freestyle 工作?除此之外,您可以简单地为 --batch-mode 定义-B,这将关闭颜色的使用...

标签: maven


【解决方案1】:

感谢 khmarbaise 在评论中对我的问题的回答:

您可以简单地为 --batch-mode 定义 -B ,这将关闭使用 of 颜色..

这解决了问题,我的输出现在看起来像这样(更好):

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.507 s
[INFO] Finished at: 2017-04-27T05:30:07-04:00
[INFO] Final Memory: 41M/100M
[INFO] ------------------------------------------------------------------------

【讨论】:

  • 作为对未来人们的说明,Maven 3.5.1 将是adding an explicit flag to turn off colors
  • 请注意,实际的标志是-Dstyle.color=(auto|always|never)。 @romeara 链接到的页面讨论了该选项的多种语法,很容易错过最终实现的那个。
  • 即使答案与问题相符,对于支持颜色的 shell,更好的解决方案可能是通过 UPGRADE MAVEN 解决问题!我在 maven 3.5.2 下遇到了问题,用 maven 3.6.1 解决了。
  • 感谢 Olir - 因为这似乎是一个热门问题,所以有人指出这一点很好 - 绝对是最简单的解决方案。
  • 在相关说明中:如果您在 cygwin 3.1 下看到 ANSI 代码,可能是因为 maven 无法识别 TERM 环境变量值 xterm-256color。尝试运行:TERM=cygwin mvn
【解决方案2】:

--batch-mode,在其他答案中提到,通常是非交互式执行的更好选择,例如在 CI 服务器中,但如果您只想关闭颜色,则可以从 maven 3.5.1 使用以下选项:

mvn -Dstyle.color=never

此参数的其他选项是alwaysauto

【讨论】:

    【解决方案3】:

    maven --batch-mode 可以。但是,如果您必须检查一些已经生成的包含这些颜色代码的输出,您可以使用 sed 去除代码,正如 here 中所解释的那样。

    【讨论】:

      【解决方案4】:

      批处理模式-B(删除颜色标签)和静默模式-q在管道脚本中的Jenkins Maven插件示例:

      rtMaven = Artifactory.newMavenBuild()
      ...
      rtMaven.run pom: 'pom.xml',
                  goals: "-q -B clean compiler:compile" 
      

      【讨论】:

        猜你喜欢
        • 2013-08-02
        • 1970-01-01
        • 2021-01-07
        • 1970-01-01
        • 2015-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多