Arquivo Properties

Olá,

Estou com um problema, não sei em qual diretório coloco o arquivo properties.

Tenho uma aplicação web deployada no websphere que chama um jar que está em um diretorio shared library fora da aplicação. Neste jar é chamado o properties deste jeito: getClass().getResource(“webreport.properties”). Minha dúvida é onde tenho que colocar o arquivo properties. No tomcat o arquivo fica na pasta raiz do tomcat e funciona normal.

Espero que ajudem porque já perdi bastante tempo colocando em diversos diretórios e sem sucesso.

Basicamente, se você colocar webreport.properties de uma forma que ele acabe no mesmo package da tua classe, esse teu código vai funcionar.

Se você colocar o properties em outro package, por exemplo dentro de br.com.guj.abc, o caminho que você vai usar será “/br/com/guj/abc/webreport.properties”

Sim, eu concordo com vc mas o jar foi desenvolvido com intuito de ler o properties fora do jar e na raiz de onde o codigo está sendo executado.

Amigo, você conseguiu solucionar o problema? Também preciso ser o properties do servidor e não da aplicação.

Abraços!

Uma dica, imaginem que o classpath onde a aplicação é carregada vira um sistema de arquivos. Se o servidor colocar a raiz dele no classpath, então o path que vc vai passar para o getResources vai ser /

Então, descubram qual o classpath que o servidor monta e deixa preparado para a sua aplicação acessar.

[quote=Bruno Laturner]Uma dica, imaginem que o classpath onde a aplicação é carregada vira um sistema de arquivos. Se o servidor colocar a raiz dele no classpath, então o path que vc vai passar para o getResources vai ser /

Então, descubram qual o classpath que o servidor monta e deixa preparado para a sua aplicação acessar.[/quote]

Cara, pensando nisso que você disse dei uma olhada no catalina.properties que tem no /conf do Tomcat, la tem a seguinte linha:

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar

Então coloquei meu properties no nessa /lib, mas infelizmente também não rolou!

----- Adicionado abaixo: -------------------------------------------------------------

Consegui! É exatamente isso que o Bruno falou, colocar no classloader, no meu teste coloquei no /lib e deu certo, ele enxergou! Não havia dado certo antes porque ocorreu um erro no restart do Tomcat que eu não havia me atentado.

Aqui no catalina.properties tem mais dois caras interessantes, server.loader e shared.loader, vou dar uma pesquisada agora para entender a diferença entre eles, pois acredito que existe uma forma mais organizada de fazer isso.

No último caso, vou adicionar no common.loader o caminho de onde pretendo guardar os .properties, assim fica mais organizado que jogar na pasta /lib.

Muito obrigado, espero que o post ajude pessoas com essa dúvida no futuro!

Abraços!