Abrir arquivos que estejam no META-INF

7 respostas
Tchello

Bom dia galera!

A pergunta é bem simples e o título já explica tudo.
Sei que é bem básico mas não consigo encontrar as tags corretas em minhas pesquisas que retornem dados satisfatórios.

Enfim, tenho um pacote EAR com a pasta META-INF bonitinha lá.
Criei um arquivo de configuração de um módulo e gostaria de empacota-lo junto ao EAR, dentro da pasta META-INF.

Como posso abrir esse arquivo?

Tento com o endereço /META-INF/file.xml mas sem suceso.

Sei que é algo bem simples… mas não consigo encontrar.
Muito obrigado!

7 Respostas

nel

Estamos falando de JSF?
Se for JSF, por exemplo…

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
ServletContext sContext = (ServletContext) externalContext.getContext();
sContext.getRealPath("WEB-INF") + "/file.xml";

Com Servlet possivelmente é a mesma ideia.

Abraços.

Tchello

nel:
Estamos falando de JSF?
Se for JSF, por exemplo…

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
ServletContext sContext = (ServletContext) externalContext.getContext();
sContext.getRealPath("WEB-INF") + "/file.xml";

Com Servlet possivelmente é a mesma ideia.

Abraços.

Nops, não estamos falando de JSF.

Tenho um jar empacotado num EAR que possui jars de EJB e wars.
Todos meus jars tem a pasta META-INF mas em um deles em especial quero pegar um arquivo manualmente que esteja ali.
Ou no META-INF do pacote EAR, de preferência.

Vlw!!!

nel

Falha minha.
Estava “crente” que você havia dito WEB-INF.

Você provavelmente terá que fazer busca em um determinado JAR e buscar extrair os arquivos dele para em seguida, buscar o arquivo especifico.
Claro, fazer é outro papo.

Bom, vou almoçar, qualquer coisa tento ajudar depois.

Abraços.

Tchello

Sussa.
De fato terei que fazer a busca no jar.
Mas a classe que vai chamar esse arquivo do META-INF pertence ao jar especificado, compreende?
Só preciso saber como pegar o endereço relativo. =/

Abraços!!

nel

Sim, creio que se você fizer algo como “/META-INF/file.xml” em sua classe File ele te retorne o valor, não?
Acredito que seja só uma questão de URL a ser passada, senão, podes buscar este JAR (diretório) e efetuar um unzip e a partir dai buscar o arquivo.

Abraços!!!

Tchello

nel:
Sim, creio que se você fizer algo como “/META-INF/file.xml” em sua classe File ele te retorne o valor, não?
Acredito que seja só uma questão de URL a ser passada, senão, podes buscar este JAR (diretório) e efetuar um unzip e a partir dai buscar o arquivo.

Abraços!!!


Foi a primeira coisa que testei e não funcionou.
Fiz o seguinte;

File file = new File(getClass().getResource("/META-INF/file.xml").getPath());

Ai funfou!

Vlw!!

nel

Show de bola! :slight_smile:
Só edit o tópico e adiciona [Resolvido].

Abraços.

Criado 10 de setembro de 2010
Ultima resposta 10 de set. de 2010
Respostas 7
Participantes 2