Jenkins console输出乱码???

jenkins console输出乱码???

在jenkins中job执行shell,console中出现乱码如下:

[WARNING] /home/mtime/data/jenkins/workspace/testMVNCode/src/main/java/com/mtime/data/dbsync/write/imp/HbaseWriter.java: ������������������������������������������������ API���
[WARNING] /home/mtime/data/jenkins/workspace/testMVNCode/src/main/java/com/mtime/data/dbsync/write/imp/HbaseWriter.java: ������������������, ��������� -Xlint:deprecation ���������������
[WARNING] /home/mtime/data/jenkins/workspace/testMVNCode/src/main/java/com/mtime/data/dbsync/mongo/handler/table/CartToHbaseHandler.java: ���������������������������������������������������������������
[WARNING] /home/mtime/data/jenkins/workspace/testMVNCode/src/main/java/com/mtime/data/dbsync/mongo/handler/table/CartToHbaseHandler.java: ������������������, ��������� -Xlint:unchecked ���������������

jenkins job的配置如下:

构建--> Execute Shell:

#!/bin/bash
source /etc/profile
echo "---$LANG"
pwd
ls ./
mvn clean package

其中,job的shell构建中 echo "$LANG" 的输出结果是“zh_CN.UTF-8”;但系统终端中,echo $LANG 命令的输出是, “en_US.UTF-8”。

当我把jenkins job shell 中的 source /etc/profile 注释掉之后,再重新构建任务,乱码问题不在出现。

当我在shell中 加入如下两句 source /etc/profile;export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"时(注意顺序),乱码问题也不再不在出现,说明是source /etc/profile 命令把Dfile.encoding=UTF-8 的参数给覆盖掉了。

最终的解决方法:

在 /etc/profile 中添加 export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"

在Jenkins 系统管理
添加环境变量 Key: LANG, Value en_US.UTF-8 (如果系统默认的已经是en_US.UTF-8,就不用设置了)

本文参阅博客:http://www.cnblogs.com/liangnote/p/4939235.html

原文地址:https://www.cnblogs.com/honeybee/p/6165819.html