更新时间:2023-11-27 17:23:22
添加到配置文件(对于应用程序/var/app/app.jar
,它将为/var/app/app.conf
)在行下面:
Add to config file (for application /var/app/app.jar
it will be /var/app/app.conf
) below line:
export LANG='en_US.UTF-8'
问题出在linux systemd
(service
)中.我用脚本/etc/init.d/test
进行了测试:
The problem is in linux systemd
(service
). I tested it with script /etc/init.d/test
:
#/bin/bash
locale
命令$ /etc/init.d/test
的结果:
LANG=en_US.UTF-8
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=
和命令$ service test
的结果:
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
在spring boot jar文件中是内置的systemd脚本,并且在运行spring boot之前要执行其他操作:
In spring boot jar file is build-in systemd script and before running spring boot is executed among others:
# Source any config file
configfile="$(basename "${jarfile%.*}.conf")"
# Initialize CONF_FOLDER location defaulting to jarfolder
[[ -z "$CONF_FOLDER" ]] && CONF_FOLDER="${jarfolder}"
# shellcheck source=/dev/null
[[ -r "${CONF_FOLDER}/${configfile}" ]] && source "${CONF_FOLDER}/${configfile}"