Problema com File ao Gerar o Jar

4 respostas
remixlara

Galera é o seguinte, eu desenvolvi um sistema e utilizei alguns arquivos de configuração ‘.properties’.

O problema é o seguinte, para eu carregar o arquivo .properties eu faço da seguinte forma:

private static File arquivo = new File("conf.properties");

considerando que este arquivo esteja na raiz. Quando executo pelo eclipse tudo blza.

Quando eu gero o .jar o programa não detecta este arquivo. Pra ler esse arquivo faço da seguinte forma:

if (props == null){ props = new Properties(); if( arquivo.exists() ) props.load( new FileInputStream( arquivo ) ); else{ JOptionPane.showMessageDialog(null, "O Arquivo não existe"); } }

Ai ele imprime a mensagem “O Arquivo não existe” ;O

Como eu faço pra carregar esse arquivo quando o Jar for gerado sendo que ele funciona normalmente compilando diretamente no Eclipse?

4 Respostas

jyoshiriro

No caso do Jar executável, o arquivo “.properties” deve estar fora do Jar, mas na mesma pasta.

remixlara

eu fiz isso e ele n detecta o arquivo

ainda pra testar eu coloquei fora e dentro do jar. e mesmo assim n vai

help! :?

remixlara

rpz… eu consegui resolver isso, agora eu não sei se é uma boa prática ou quais problemas podem me trazer.

Tipo, ele não encontra o arquivo por causa do diretório.

Se eu colocar lá “/conf.properties” ele irá na raiz do sistema que acredito eu ser o C:

private static File arquivo = new File("/conf.properties");

ai o que eu fiz… eu peguei o diretório completo onde o .jar se localiza utilizando o comando:

System.getProperty("user.dir")+"\conf.properties";

e funciona blza.

soh que é como eu disse, eh uma boa prática fazer isso? quais problemas isso pode trazer?

fods isso heim :shock:

T

Em vez de usar um File, se quer ler algo dentro de um jar, use getResourceAsStream (procure por isso aqui no GUJ, talvez usando o Google. A busca do GUJ não é muito legal, eu prefiro usar algo no Google como:

getResourceAsStream site:www.guj.com.br

Criado 13 de abril de 2010
Ultima resposta 14 de abr. de 2010
Respostas 4
Participantes 3