Pessoal, seguinte: Eu estou desenvolvendo uma aplicação web e estou tendo problemas para encontrar o arquivo de configurações que eu mesmo criei. Eu desenvolvi um jar que possui: AbstractBe, AbstractDao e todas as classe de manipulação de arquivos de configuração para criar as conexões com o banco e repassar para as Be’s e Dao’s que estendem as abstracts em todo o sistema. Tudo isso funciona, e eu quero que este jar funciona para todas as aplicações que eu desenvolva, o problema é o seguinte: dentro do diretorio de cada app eu tenho uma pasta “Diretorio raiz da app/propriedades/” onde eu tenho dois arquivos de propriedades, um é um arquivo cujo nome é o mesmo para todas as aplicações, empresaProperites.properties, e outro é o arquivo properties especifico da app, no arquivo empresaProperites.properties eu guando entre outras cahves/valor, o nome do arquivo properties especifico da app, para que eu possa carrega-lo, e pegar suas informações de configuração de banco entre outras. Dentro deste jar chamado empresaGenerico, eu tenho uma classe que quando eu instancio uma nova Be na minha app ela é chamada e carrega primeiro o arquivo de properties generico, pega o nome do arquivo properties da app e o carrega configura a conexao e a devolve para a Be.
Eu tenho um atributo static naquela classe cujo valor é “./propriedades/” que é o caminho para encontrar os arquivos properties. O problema é que ele não consegue encontrar o arquivo pois o caminho nao esta correto, uma vez que o diretorio atual durante a execução não é o da pasta da app mas sim o xampp/apache. E como eu quero que esse jar sirva para todas as minhas app’s eu quero saber se tem como eu poderia resolver isso. Tipo independente de onde esteja a pasta da minha app eu possa saber o caminho completo para que o jar que esta na lib possa encontrar os propeties ! Ja tente pelo caminho relativo :"./propriedades/" mas quando executo ele acusa o erro, tendo em vista que, ele não busca em (C: ou H: ou I: )/appNome/propriedades/ mas sim no diretório atual de execução, no caso o diretório do C:/Xampp/apache/ . Existe alguma forma sempre saber qual o caminho da pasta /porpriedades/ independente de onde a app esteja ?
Encontrar caminho de arquivo de configurações. [RESOLVIDO]
2 Respostas
Pow pessoal, ninguem precisou do que eu estou precisando ? Ja procurei que nem louco, passei o sabado inteiro em cima disso e nada !
E pra piorar o TomCat acusa erros num metodo que eu ja apaguei do codigo !! Ta dificil !!!
Beleza consegui o que eu queria, que era pegar o caminho absoluto de um jar, não o caminho do diretorio de execuçao mas o caminho onde estava o jar para tanto eu usei o seguinte comando String path= getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
Dai ele me deu o caminho onde o JAR estava, que era o que eu precisava, dai eu trabalhei com a String para encontrar a pasta ‘propriedades’ onde estao os arquivos de configuração da app, sendo assim, agora o meu jar que cuida das conexões com o banco, pode ser usado por qualquer app que eu fizer. Fica ai a dica !!