centos7 中jar 项目日志中文输出为乱码??问号

centos7 中jar 项目日志中文输出为乱码??问号

centos7 中jar 项目日志中文输出为乱码??问号

在部署项目时发现项目传递出去时中文乱码且为一个中文一个?,后发现是因为将项目配置为脚本时启动的编码与系统不匹配,需要加上 -Dfile.encoding=utf-8 ,特此记录

原配置脚本

#!/bin/sh
# chkconfig: 2345 90 50
# description: auto_innerboundary

HOME=/root/doc_jar/
JARDIR=live-1.0-SNAPSHOT.jar
LOGDIR=/root/log/outer.log
start(){
	cd $HOME
	nohup /root/jdk1.8.0_212/bin/java -jar $JARDIR > $LOGDIR  2>&1 &


}
stop(){
	ps -ef|grep $JARDIR|grep -v grep|awk '{print $2}' | xargs kill -9

}
case $1 in
	start)
	   start
	;;
	stop)
	   stop
	;;
	restart)
	   $0 stop
	   sleep 2
	   $0 start
	;;
	*)
	   echo "Usage:(start|stop|restart)"
	;;
esac
exit


更改后脚本

#!/bin/sh
# chkconfig: 2345 90 50
# description: auto_innerboundary

HOME=/root/doc_jar/
JARDIR=live-1.0-SNAPSHOT.jar
LOGDIR=/root/log/outer.log
start(){
	cd $HOME
	nohup /root/jdk1.8.0_212/bin/java -Dfile.encoding=utf-8 -jar $JARDIR > $LOGDIR  2>&1 &


}
stop(){
	ps -ef|grep $JARDIR|grep -v grep|awk '{print $2}' | xargs kill -9

}
case $1 in
	start)
	   start
	;;
	stop)
	   stop
	;;
	restart)
	   $0 stop
	   sleep 2
	   $0 start
	;;
	*)
	   echo "Usage:(start|stop|restart)"
	;;
esac
exit


你可能感兴趣的:(JavaEE)