Как удалить цвета из вывода Maven?
Когда я запускаю цель maven в Jenkins (например, "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
Ответы
Ответ 1
Спасибо khmarbaise за его ответ в комментарии к моему вопросу:
вы можете просто определить -B для -batch-mode, который отключит использование цвет..
Это исправило проблему, мой результат теперь выглядит так (гораздо приятнее):
[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] ------------------------------------------------------------------------
Ответ 2
maven --batch-mode
сделает. Однако, если вам нужно проверить какой-либо уже сгенерированный вывод, содержащий эти цветовые коды, вы можете использовать sed
для удаления кодов, как это объяснялось здесь.
Ответ 3
--batch-mode
, упомянутый в других ответах, действительно является лучшим вариантом в некоторых обстоятельствах, например, на CI-сервере, но если вы хотите просто отключить цвет, возможно, начиная с maven 3.5.1, использовать следующую опцию:
mvn -Dstyle.color=never
другие опции для параметра: always
или auto
.