Este artigo trás a solução do erro ‘Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters’ ao tentar obter um arquivo do disco através do comando em java abaixo:
Paths.get(path).toAbsolutePath().normalize();
Problema
Nos meus testes o problema ocorreu no Linux Rhel 8, e ocorre devido ao systemd. Para testar você pode criar um service em /etc/init.d/test e inserir o comando abaixo:
#/bin/bash locale
Em seguida execute o serviço, o resultado será o abaixo:
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=
Solução
Crie um arquivo chamado app.conf no diretório onde está seu jar do spring boot com o mesmo nome do projeto, por exemplo: app.jar app.conf. Insira o comando abaixo dentro do seu arquivo conf:
export LANG='en_US.UTF-8'
Dúvidas?
Você tem outras dúvidas? Deixe seu feedback nos comentários abaixo. Bom, espero que essa dica tenha sido útil.