Problema com diretorio do arquivo jar [RESOLVIDO]

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");