Pessoal é possivel alterar o valor de uma chave do properties quando ele esta empacotado em um jar?
Preciso de alguns arquivos de configurações pra indicar a primeira inicialização do sistema, bem como se todo o hardware já foi detectado, to quase partindo pra banco de dados por causa do Jar.
Pra fazer isso, você cria uma pasta fora do JAR com o properties la, algo assim:
etc…
humm, ai eu acesso ele utilizando a classe File e não mais
InputStream is = Thread.currentThread().getClass().getResourceAsStream(caminho);
Isso, você o próprio sistema de arquivos… No JAR você só iria utilizar se o properties fosse imutável…
preciso passar o caminho completo do arquivo? testei e funcionou mas não posso deixar assim!
o problema é que a aplicação precisa ser multi-plataforma,
tem como eu pegar o caminho da pasta que esta o properties através do jar?
ou melhor tem como eu pegar o caminho do proprio jar?
Dentro do exemplo:
File file = new File("config/configuration.properties");
Vai pegar a partir da pasta onde está!
aqui não funcionou. eita
[code]
dist/
----meu_prog.jar
/config/
--- configuration.properties
--- messages.properties [/code]
da uma olhada em parte do codigo da classe
[code]
public class Contrucao
{
private String configurado="true";
private File file = new File("config/construcao.properties");
private Properties properties = new Properties();
public String getValor() throws FileNotFoundException
{
String valor="";
try
{
FileInputStream read = new FileInputStream(file);
properties.load(read);
valor = properties.getProperty("Configurado");
read.close();
return valor;
}catch (IOException ex) {
return null;
}
}
}
[EDTADO]
depois de construido o projeto, funcionou!
muito obrigado pela ajuda Guilherme, precisando estamos a disposição.