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