Pessoal, bom dia!
Não sei se isso é um bug ou deveria funcionar assim mesmo.
Tenho um aplicativo que carrega um arquivo de configurações, esse arquivo fica no mesmo local do .jar, então eu uso
new File(“meu_arq.cfg”); funciona perfeito.
Agora precisei colocar uma arquivo .bat na pasta inicializar do windows, para que ele inicie o aplicativo automaticamente em caso de queda de energia. Porem quando chamo o .jar de outro lugar ele para de encontrar o arquivo de configuração, porque o endereço dele passa a ser do local onde é chamado o jar e não mais o local que está o jar.
Tem como resolver isso através de linha de comando ou de alguma forma?
vlw
pensar as vezes faz bem :lol:
basta colocar um cd no arquivo bat que resolve kkkk
cd diretorio_do_arquivo_jar
java -jar seu_jar.jar
[]'s
no teu “bat” faça:
cd c:\<pasta do teu jar>
call java -jar <teu jar>.jar
ou coloque o arquivo dendro do jar e recupere o arquivo pelo classpath (exemplo: http://cognitivecache.blogspot.ca/2008/07/java-loading-xml-file-from-classpath.html)
ou coloque um parametro de sistema tipo…
java -jar <teu jar>.jar -DcaminhoDoMeuArquivo=c:\<pasta do teu jar>
e recupere esse valor de dentro do teu código…
final File cfg = new File(System.getProperty("caminhoDoMeuArquivo", "<teu jar>.jar");
ou use uma variável de sistema…
final File cfg = new File(System.getenv().get("caminhoDoMeuArquivo"), "<teu jar>.jar");