Duvida com .properties

6 respostas
Lucas_Abbatepaolo

Pessoal…bom dia!!

Imaginem o seguinte cenário:

Tenho uma aplicação com algumas funcionalidades e gero um .jar dela… Esta aplicação faz uso de um arquivo .properties.
Até aqui tudo certo…

Porem eu vou utilizar este jar gerado como uma biblioteca de uma outra aplicação que por sua vez faz uso de seu proprio arquivo .properties.

Quando executo minha nova aplicação ela carrega o .properties dela, sendo assim o properties de dentro do meui jar não é carregado…

Alguem já fez algo deste tipo e pode me dar alguma dica de trabalhar com mais de um arquivo properties…

Desde já agradeço

6 Respostas

mauricioadl

Coloque o arquivo dentro do seu .jar

Properties prop = new Properties();
prop.load(Prop.class.getResourceAsStream("config.properties"));
System.out.println(prop.getProperty("teste"));

[]'s

Lucas_Abbatepaolo

mauricioadl:
Coloque o arquivo dentro do seu .jar

Properties prop = new Properties();
prop.load(Prop.class.getResourceAsStream("config.properties"));
System.out.println(prop.getProperty("teste"));

[]'s

Esse codigo vai me carregar o properties que esta dentro do jar…porem tenho o da aplicação tambem…

Eu tenho um jar que são as minhas exceções criadas. Esse jar tem uma classe que atravas de uma chave ele busca a mensagem correspondente dentro do properties…

Porem a momentos que as mensagens de erro devem ser buscadas dentro do properties do jar…e em outros momentos dentro do properties da aplicação. Como minha classe carrega o properties no inicio so é carregado ou o da aplicação ou o do jar…alguem sabe de alguma forma que faça com que a aplicação seja capaz de buscar dentro de 2 properties ao mesmo tempo…??

[]'s

mauricioadl

cara, se sua aplicacao precisa acessar o properties do lib tem algo errado, isso nunca deveria acontecer.

se vc quiser fazer isso, vc pode fazer com que o properties seja carregado no System.properties, assim ele fica “global” entende??

Lucas_Abbatepaolo

mauricioadl:
cara, se sua aplicacao precisa acessar o properties do lib tem algo errado, isso nunca deveria acontecer.

se vc quiser fazer isso, vc pode fazer com que o properties seja carregado no System.properties, assim ele fica “global” entende??

Primeiramente obrigado pela ajuda…

Não é que minha aplicação tenha que acessar o properties da lib… a lib que tem q acessar 2 properties…o dela e o da aplicação…

Como disse anteriormente essa minha lib possui exceções que eu criei…e elas atraves de uma chave buscam as mensagens no properties…

A lib em si ja tem que possuir as suas proprias mensagens e posteriormente quando eu utilizo na aplicação a mesma deve possuir seu proprio properties com suas mensagens…

[]'s

mauricioadl

mais estranho ainda, imagine vc desenvolvendo uma lib que tem que advinhar onde estara o arquivo properties, concorda que isso nao faz sentido?
O que voce pode fazer e colocar um endereço absoluto do arquivo de configuracoes, assim vc busca sempre no mesmo lugar. Algo do tipo c:/minha_app/configs/…
Vc pode tambem colocar um Properties no construtor da sua classe que esta na lib, passando a referencia para ele a partir de sua aplicacao;

Lucas_Abbatepaolo

mauricioadl:
mais estranho ainda, imagine vc desenvolvendo uma lib que tem que advinhar onde estara o arquivo properties, concorda que isso nao faz sentido?
O que voce pode fazer e colocar um endereço absoluto do arquivo de configuracoes, assim vc busca sempre no mesmo lugar. Algo do tipo c:/minha_app/configs/…
Vc pode tambem colocar um Properties no construtor da sua classe que esta na lib, passando a referencia para ele a partir de sua aplicacao;

Não é a questão de advinhar se ha e qual a localização do properties…isso deve ficar em um local padrão com um nome padrão (com por exemplo o log4j faz)…
A questão é conseguir trabalhar com “n” config.properties ao mesmo tempo.

Vou tentar algumas coisas malucas que pensei e depois posto os resultado…

Obrigado pela ajuda…
[]'s

Criado 3 de janeiro de 2012
Ultima resposta 4 de jan. de 2012
Respostas 6
Participantes 2