如何从Maven输出中删除颜色?

sim*_*bro 19 maven

当我在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
Run Code Online (Sandbox Code Playgroud)

sim*_*bro 28

感谢khmarbaise在我的问题评论中回答他/她的回答:

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

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

[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] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

  • 正如未来人们的注释一样,Maven 3.5.1将[添加一个明确的标志来关闭颜色](https://issues.apache.org/jira/browse/MNG-6220) (9认同)
  • 请注意,实际标志是“-Dstyle.color=(auto|always|never)”。@romeara 链接到的页面讨论了该选项的多种语法,很容易错过最终实现的语法。 (4认同)

nev*_*ves 7

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

mvn -Dstyle.color=never
Run Code Online (Sandbox Code Playgroud)

此参数的其他选项是alwaysauto