Tenho um .xml dentro de um .jar no meu classpath. Como recuperar o caminho relativo desse .xml ??
valeu !!
Tenho um .xml dentro de um .jar no meu classpath. Como recuperar o caminho relativo desse .xml ??
valeu !!
getClass().getResource("/pasta/onde/esta/seu/arquivo.jar");
flw
ops
getClass().getResource("/pasta/onde/esta/seu/arquivo.xml");
agora sim
flw
Cara… é meio embaçadinho… um amigo meu uma vez fez algo mais ou menos assim…
URL url = MinhaClasset.class.getResource(fileName);
if (url.getProtocol().equals("jar")) {
InputStream input = MInhaClasse.class.getResourceAsStream(
fileName);
} else {
File f = new File(url.getFile());
}
Nesse caso acima, a MinhaClasse é a classe na qual você está editando o código… Olha… sinceramente naum sei muito como que funciona isso… Mas daí vc já pode tirar uma idéia de como resolver o problema…
Repare que quando você executa a aplicação fora de um arquivo jar, normalmente o caminho do arquivo, quando for uma url, ela utiliza o protocolo file… ex:
file:\c:\meudocumento.xml
Agora, quando se trata de um arquivo que se encontra dentro de um jar, é um pouco diferente… o protocolo é o jar…
ex:
jar:\file:\c:\meuarquivo.jar!meudocumento.xml!!!
(Não é exatamente isto… mas é algo parecido com isso)
Repare nos protocolos files e jar… eles são a chave para que você resolva o problema…
Se alguém tiver alguma solução melhor, será bém vinda… pois eu acho essa solução que passei péssima!!
Um Abraço!
Thiago Senna
opsgetClass().getResource("/pasta/onde/esta/seu/arquivo.xml");agora sim
flw
Cara minha estrutura está assim : O projeto foi criado na pasta Material e lá existe a pasta lib onde está meu .jar.
Material/ lib/ pacote.jar
E no pacote .jar está assim ;
relatorios/almoxarifado/ arquivo.xml
Eu coloquei assim :
String caminho = getClass().getResource("/lib/relatorios/almoxarifado/arquivo.xml").getPath();
Mas não deu certo !!!
tu sabe o q ta errado ?/
Acho q dá forma que eu estou tentando acessar era se o meu arquivo.xml estivesse no diretorio relatorios/almoxarifado/ , no entanto ele está dentro de .jar no meu classpath !!