Tenho um servidor local onde costumo rodar e testar minhas aplicações! Essa semana eu finalizei um projeto que roda perfeitamente sem problemas nenhum(no servidor local da minha máquina).
Mas essa aplicação deve rodar em um outro servidor da minha empresa, onde os clientes terão acesso.
Meu projeto rodava perfeitamente neste outro servidor até q eu criei um arquivo .properties contendo informações de conexão com o banco d dados, afim de tornar a aplicação mais flexível.
Não estou conseguindo saber pq ao tentar acessar tao arquivo acorre a exceção:
Lembrando q em minha máquina roda perfeitamente! Este problema está acontecendo quando eu migro p/ outro servidor!
Já verifiquei os configurações de conexão com a base da dados e está tudo ok.
Pq isto esta acontecendo somente no outro servidor e nao na minha máquina?
erickcellani
this.properties.getProperty("jdbc.driver")
como está isso lá no seu arquivo properties??
rodrigo.fai
Como eu gero um trace?
Apenas dê um
System.out.println(valor_esperado);
para ver se os valores estão sendo lidos corretamente do arquivo .properties
Se você estiver usando o log4j pode usar:
logger.info(valor_esperado);
Os valores estão sendo lidos corretamente, senão a minha aplicacao nao estaria rodando normalmente na minha máquina!!! O problema eh quando eu migro p/ outra maquina, ou seja, quando eu armazeno em outro servidor!
rodrigo.fai
erickcellani:
this.properties.getProperty("jdbc.driver")
como está isso lá no seu arquivo properties??
Meu arquivo .properties esta assim:
#Configurações de conexão ao banco de dados
jdbc.driver=org.firebirdsql.jdbc.FBDriver
url.zeus=jdbc:firebirdsql://127.0.0.1:3050/d:/softwares/windows/sistema zeus v2.0.0/ZEUS.GDB
url.id=jdbc:firebirdsql://127.0.0.1:3050/d:/softwares/Windows/Sistema ZEUS v2.0.0/Datalogger/
user=SYSDBA
password=masterkey
As propriedades url.zeus e url.id eu altero de acordo com a máquina, ou seja, ond o base de dados esta armazenada em cada maquina!
adriano.ferranti
Ele não está achando o arquivo de properties no servidor.
A sua propriedade properties é do tipo PropertyResourceBundle ?
rodrigo.fai
adriano.ferranti:
Ele não está achando o arquivo de properties no servidor.
A sua propriedade properties é do tipo PropertyResourceBundle ?
Como eu sei qual é a minha propriedade properties?
erickcellani
rodrigo.fai… foi vc mesmo que criou o properties???
adriano.ferranti
rodrigo.fai:
adriano.ferranti:
Ele não está achando o arquivo de properties no servidor.
A sua propriedade properties é do tipo PropertyResourceBundle ?
Como eu sei qual é a minha propriedade properties?
Me refiro ao tipo da sua variável this.properties
Você pode postar todo seu código? Acho que fica mais fácil…
rodrigo.fai
adriano.ferranti:
rodrigo.fai:
adriano.ferranti:
Ele não está achando o arquivo de properties no servidor.
A sua propriedade properties é do tipo PropertyResourceBundle ?
Como eu sei qual é a minha propriedade properties?
Me refiro ao tipo da sua variável this.properties
Você pode postar todo seu código? Acho que fica mais fácil…
Saquei!! Eh do tipo Properties msm!!
Seque abaixo o código da classe responsavel por carregar o arquivo .properties:
packagenet.sytes.tsda.zeus.properties;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.util.Properties;publicclassPropertie{privatePropertiesproperties=newProperties();privateFileInputStreamfileInputStream=null;publicPropertie(StringpFile){Stringarquivo=getClass().getResource(pFile).getPath();getFile(arquivo);}publicvoidgetFile(StringpFile){Filefile=newFile(pFile);try{this.fileInputStream=newFileInputStream(file);this.properties.load(fileInputStream);}catch(FileNotFoundExceptione){// TODO Auto-generated catch blocke.printStackTrace();}catch(IOExceptione){// TODO Auto-generated catch blocke.printStackTrace();}}publicStringgetJdbcDriver(){StringjdbcDriver=this.properties.getProperty("jdbc.driver");returnjdbcDriver;}publicStringgetBanco(StringpBanco){Stringbanco=this.properties.getProperty(pBanco);returnbanco;}publicStringgetUser(){Stringuser=this.properties.getProperty("user");returnuser;}publicStringgetPassword(){Stringpassword=this.properties.getProperty("password");returnpassword;}publicStringgetPath(){Stringpath=this.properties.getProperty("diretorio.figuras");returnpath;}publicvoidcloseFile(){try{this.fileInputStream.close();}catch(IOExceptione){// TODO Auto-generated catch blocke.printStackTrace();}}}
rodrigo.fai
Foi eu msm q criei a properties!!!
adriano.ferranti
Você pode tentar usar
public Propertie(String pFile)
{
String arquivo = Propertie.class.getClassLoader().getResource(pFile).getPath();
getFile(arquivo);
}
rodrigo.fai
adriano.ferranti:
Você pode tentar usar
public Propertie(String pFile)
{
String arquivo = Propertie.class.getClassLoader().getResource(pFile).getPath();
getFile(arquivo);
}
Não deu certo ainda… continua dando NullPointerException soh q agora na linha ond tento corregar o arquivo:
onde file_name deve ser o nome do pacote onde está o arquivo mais o nome do arquivo sem a extensão.
Ex.: meupacote.meu_arquivo
para o arquivo meu_arquivo.properties dentro do package meupacote
e property_name, óbvio é o nome da propriedade que você quer ler.
onde file_name deve ser o nome do pacote onde está o arquivo mais o nome do arquivo sem a extensão.
Ex.: meupacote.meu_arquivo
para o arquivo meu_arquivo.properties dentro do package meupacote
e property_name, óbvio é o nome da propriedade que você quer ler.
ALELUUUUUUIA!!! huahuahuahua
Funcionou agora krinha!!! Vlw msm hein… muito grato!