一、问题详情

jenkins构建mav任务,在控制台显示乱码:

Jenkins控制台输出乱码-LMLPHP

二、原因分析

1. 查看系统编码和tomcat的编码都正常

# grep encoding  /usr/local/tomcat/conf/server.xml
<?xml version='1.0' encoding='utf-8'?>
# locale
LANG=en_US.UTF-
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

2. 查看jenkins-->系统管理-->系统信息--发现字符编码不对,都是ANSI_X3.4-1968而不是UTF8导致的。

Jenkins控制台输出乱码-LMLPHP

Jenkins控制台输出乱码-LMLPHP

三、解决方法

1. 在jenkins-->系统管理-->系统设置-->添加环境变量-->重启jenkins

键:JAVA_TOOL_OPTIONS
值:-Dfile.encoding=UTF- -Dsun.jnu.encoding=UTF-

如下图:

Jenkins控制台输出乱码-LMLPHP

2. 如果不生效可以在系统中添加一条环境变量

export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"

重启后发现恢复

Jenkins控制台输出乱码-LMLPHP

Jenkins控制台输出乱码-LMLPHP

Jenkins控制台输出乱码-LMLPHP

05-11 17:03
查看更多