Pergunta

No Linux, a JVM define o trabalho direcory igual ao homefolder do usuário. No Windows, esta é a pasta onde o frasco está localizado. Como posso descobrir onde o jar (do meu app) está localizado mudar o dir de trabalho?

Martijn

Foi útil?

Solução

Tente obter o caminho para o frasco com este código:

String path = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();

Em seguida, você pode remover o "* .jar" parte com:

path=path.substring(0, path.lastIndexOf('/')+1);

Eu tive o mesmo problema com um jogo java quando eu precisava para abrir um arquivo no mesmo diretório o frasco estava.

duplo clique no frasco no linux não abrir o arquivo. Claro que você pode abrir uma linha de comando e mudança dir à dir frasco e depois executar o frasco de lá, mas eu precisava dar um duplo clique no frasco.

Outras dicas

Em ambos os casos é o diretório real. Sob as janelas automaticamente o diretório real está definida para a base-dir do frasco, se você executá-lo a partir do Explorer. Sob linux casa-diretório é o diretório real para o seu GUI. Para definir a gravação diretório um curto shell-script, o que define o diretório atual (com o CD-comando) e, em seguida, executa o frasco (com javaw -jar xyz.jar).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top