如何在maven 3.5控制台输出中自定义颜色

Ily*_*lya 9 console maven

Maven 3.5.0在控制台输出中引入了着色.

这是一个很酷的功能,但我不喜欢一些默认的颜色选择,例如密集的蓝色INFO看起来太分散注意力.

有可能以某种方式定制颜色吗?

Ily*_*lya 16

事实证明这是可能的.

Maven使用多种样式来格式化其输出:

enum Style
{

    DEBUG(   "bold,cyan"   ),
    INFO(    "bold,blue"   ),
    WARNING( "bold,yellow" ),
    ERROR(   "bold,red"    ),
    SUCCESS( "bold,green"  ),
    FAILURE( "bold,red"    ),
    STRONG(  "bold"        ),
    MOJO(    "green"       ),
    PROJECT( "cyan"        );
...
}
Run Code Online (Sandbox Code Playgroud)

您可以使用系统属性覆盖样式的默认颜色style.style_name.例如,要将INFO的样式从默认的蓝色更改为深灰色,您将通过

-Dstyle.info=bold,black

maven的选项.它也可以使用MAVEN_OPTS环境变量指定,以便不在每次maven调用时键入它.

如果您不知道输出的特定部分使用哪种样式,则可以使用其默认颜色进行匹配.

可以在样式中使用的颜色由jansi库定义:

public enum Color {
        BLACK(0, "BLACK"),
        RED(1, "RED"),
        GREEN(2, "GREEN"),
        YELLOW(3, "YELLOW"),
        BLUE(4, "BLUE"),
        MAGENTA(5, "MAGENTA"),
        CYAN(6, "CYAN"),
        WHITE(7, "WHITE"),
        DEFAULT(9, "DEFAULT");
}
Run Code Online (Sandbox Code Playgroud)

似乎您可以使用颜色前缀bg来指定背景颜色,并使其更加密集​​,您可以添加bold修改器,例如: bold,white,bgcyan- 青色背景上的密集白色.