Pergunta besta, mas ninguem sabe

Boa tarde galera…

Gostaria da ajuda de vocês se possível…

Vamos ao que interessa. Criei um serviço paralelo ao sistema, para automatizar o banco.

Esse serviço é um “.jar” que o windows faz o controle no services.msc. Está todo feito em hibernate. Mas estou com um grande problema aqui

A conexão é feita pelo hibernate.properties que se encontra na raiz do src, que está dentro do .jar, e justamente ai está meu problema,
gostaria que este properties ficasse fora .jar, na mesma pasta que se encontra o mesmo.

Bom, o resto vcs já devem saber, quando tiro o hibernate.properties do src, exception estoura sem para.

alguem sabe como configuro o factory, as AnnotationConfiguration para ele buscar o hibernate.properties de outro caminho que não seja o src?

Coloca o properties na mesma raiz do jar
e refencia o properties assim na url do file

.//Hibernate.properties ou …//hibernate.properties

fallow

Então Paulo, fiz isso mesmo, só que li o hibernate.properties no método conectar(), como mostro abaixo:

[code] Properties p = new Properties();
p.load(new FileInputStream(new File(“hibernate.properties”)));

Class.forName(p.getProperty("hibernate.connection.driver_class").trim());  
              
conn = DriverManager.getConnection(p.getProperty("hibernate.connection.url").trim(),  
        p.getProperty("hibernate.connection.username").trim(),  
        p.getProperty("hibernate.connection.password").trim());  [/code]

Mas isso tambem não me serve, por que o serviço vai rodar no cliente, e não gostaria de gerar cada jar especifico para cada cliente, estava pensando em algo assim:

c:/servico/ Aqui dentro o arquivo hibernate.properties e o .jar

Mas mesmo assim, muito obrigado por contribuir!

Se ninguém sabe, então a pergunta não é besta.
A única coisa besta, no caso, foi o título do tópico.

Por favor, ao postar tópicos, dê um título descritivo. Todo mundo sabe que dentro do fórum terá uma pergunta e que, até agora, ninguém soube te responder (se tivesse te respondido, vc não teria criado o tópico). Portanto, ajude a quem vai te ajudar a não perder tempo, numa dúvida que ele talvez seja mais um que não saiba te responder.

[quote=Leandro Ricardo]Então Paulo, fiz isso mesmo, só que li o hibernate.properties no método conectar(), como mostro abaixo:

[code] Properties p = new Properties();
p.load(new FileInputStream(new File(“hibernate.properties”)));

Class.forName(p.getProperty("hibernate.connection.driver_class").trim());  
              
conn = DriverManager.getConnection(p.getProperty("hibernate.connection.url").trim(),  
        p.getProperty("hibernate.connection.username").trim(),  
        p.getProperty("hibernate.connection.password").trim());  [/code]

Mas isso tambem não me serve, por que o serviço vai rodar no cliente, e não gostaria de gerar cada jar especifico para cada cliente, estava pensando em algo assim:

c:/servico/ Aqui dentro o arquivo hibernate.properties e o .jar

Mas mesmo assim, muito obrigado por contribuir! [/quote]

Bom, o problema não é com o hibernate, tampouco com o arquivo de propriedades.
O problema é da peça entre a cadeira e o computador.

Enfim,

Hibernate aceita configuração programática que, basicamente, consiste em pegar as propriedades e ir setando manualmente.
Desta forma, é possível fazer algo assim:

public static void main(String[] args) { try{ File f = new File("C:\\caminho_onde_vai_o_properties\\teste.properties"); FileInputStream fis = new FileInputStream(f); Properties prop = new Properties(); prop.load(fis); String s = prop.getProperty("p1"); System.out.println(s); }catch(Exception e){ e.printStackTrace(); } }
E obter as propriedades.
Uma vez que estas foram obtidas, pode-se coloca-las nas configurações do hibernate.

Inclua no CLASSPATH do sistema o diretório onde está o hibernate.properties .
Deve funcionar sem alterações de código, a criação da factory continua sendo o tradicional factory = new AnnotationConfiguration().configure().buildSessionFactory()

O Vini… [edit:OFENSIVO]

Coloquei o post com esse titulo pra aguçar mesmo a curiosidade e o máximo de pessoas olharem.

drsmachado… se vc tem intimidade de me chamar de burro, me sinto a vontade pra te chamar de anta!!!

se eu quisesse explicitar o caminho do explorer dessa maneira que colocou, eu programava em .net, não em java. Isso que vc fez aí é coisa de matuto, a não ser que vc só programa pensando em windows!

Obrigado a todos que contribuiram de maneira construtiva. Mas consegui resolver aqui de outra forma;

Depois de tal demonstração de profissionalismo, quem entrou pra tentar ajudar está arrependido com certeza.
Mas fica a informação para caso outras pessoas com problema parecido venham a pesquisar o tópico.

E para que a história tenha um final mais interessante, vou consertar a última resposta:

Segundo as regras do fórum:

Se continuar com essa conduta, podemos cancelar sua conta. Sou moderador do fórum, orientar quanto ao uso correto é o meu papel.

Não adianta aguçar a curiosidade de quem não pode resolver sua dúvida. Por favor, leia as regras de etiqueta:
http://www.istf.com.br/perguntas/

Em especial:
http://www.istf.com.br/perguntas/#bespecific
http://www.istf.com.br/perguntas/#easyreply
http://www.istf.com.br/perguntas/#not_losing

Vou trancar o tópico. Quando aprender a ter mais educação, volte a abri-lo.