Como você está lidando com um programa Java, especifique o diretório que ele deve ver como o diretório base definindo a propriedade do sistema user.home
:
sudo java -Duser.home=$HOME -jar this.jar
É confuso que isso seja necessário. Como sudo
por padrão retém o valor de HOME
, seria de se esperar que Java definisse user.home
para $HOME
. No entanto, a documentação da API Java para java.lang.System
indica que user.home
será definido como diretório pessoal do usuário . Ele não indica que ele será configurado para o valor da variável de ambiente HOME
- que, de fato, pode ou não ser o diretório pessoal do usuário.
Note, como foi apontado nos comentários, que não é recomendado rodar o software como root. Se fizer isso, atribua a ele um diretório de trabalho dedicado, ou seja, defina seu user.home
para algum local reservado para ele.