Referenciar arquivos no jar!

Boa noite pessoal. Estou gerando um jar para a minha aplicação e encontrei um grave problema que não consigo resolver. Eu tenho que ler alguns arquivos externos, por exemplo:

Na pasta scr/templates/teplateInterface.vm eu leio um template da seguinte forma no meu programa

private Properties caminhoDiretorioTemplates = new Properties(); caminhoDiretorioTemplates.setProperty("file.resource.loader.path", "./src/templates/");

quando eu executo meu programa pela IDE, ele roda normalmente. Porém, ao executar o programa após gerado o jar, acontece um erro dizendo que não foi possível encontrar os arquivos.
Alguém tem idéia do que pode ser?

Caro idm,
Algumas perguntas:

  1. você já chegou a averiguar se o referido diretório encontra-se no jar?
  2. o mesmo deveria encontrar-se dentro do jar?
  3. como você está criando o jar?

Sds

Creio que ele esteja lançado a exception FileNotFoundException:

Utilize o método SuaClasse.class.getResource() ele retorna um objeto URL atraves desse objeto vc consegue o caminho absoluto do arquivo:

Ex:


URL url = SuaClasse.class.getResource("scr/templates/teplateInterface.vm/meuarquivo");

System.out.println("Caminho do Arquivo "+url.getFile());

[quote=ramilani12]Creio que ele esteja lançado a exception FileNotFoundException:

Utilize o método SuaClasse.class.getResource() ele retorna um objeto URL atraves desse objeto vc consegue o caminho absoluto do arquivo:

Ex:

[code]

URL url = SuaClasse.class.getResource(“scr/templates/teplateInterface.vm/meuarquivo”);

System.out.println("Caminho do Arquivo "+url.getFile());

[/code][/quote]

era isso mesmo amigo, mas funcionou isto para as imagens. Quanto ao template eu modifiquei o código para ele pegar no diretório corrente, pois não funcionava de jeito nenhum dentro do jar. Então criei o jar, uma pasta lib referenciando as libs no manifest e deixei os templates de fora (na pasta onde encontra-se o jar gerado). Agora funcionou corretamente.
[]s