Busca de .properties com getResourceAsStream - JSF 1.2

6 respostas
Alchemist

Bom dia pessoal, estou com o seguinte problema:

Tenho uma aplicação em JSF 1.2 usando RICHFACES, estou tentando montar um menu que pega informações de um .arquivo.properties, estou buscando o arquivo .properties com este código:

private static final String DATA_PATH = "/JavaSource/br/nomeProjeto/labs/index/logosLink.properties";

        FacesContext facesContext = FacesContext.getCurrentInstance();
        ExternalContext externalContext = facesContext.getExternalContext();
        InputStream dataStream = externalContext.getResourceAsStream(DATA_PATH);

Porém ele retorna sempre null, não achando o arquivo, já tentei todos os caminhos possiveis e não consegui fazer ele achar o .properties, como eu devo fazer ?

Será que alguém pode me ajudar ?

6 Respostas

kdoigor

coloca assim

WEB-INF/resources/<seu_arquivo>.properties
Alchemist

Bom descobri aqui com alguns testes que ele só consegue achar o .properties quando tiver dentro do WebContent, mas eu queria deixar o .properties dentro da src, como eu posso fazer desta maneira ?

Será que alguém ai poderia me ajudar ?

Alchemist

Opa valeu pela ajuda kdoigor, mais n teria como mapear um caminho para a src ?

kdoigor
this.class.getChasspath()

com isso ai vc pega o caminho da classe e sabe como navegar ate onde ta seu arquivo. ex:

se sua classe ta em src/br/com/teste/Main e seu properties ta em src/resources/<seu_arquivo>.properties

externalContext.getResourceAsStream(../../../../resources/<seu_arquivo>);

Alchemist

Então eu já tinha testado caminhando o caminho inverso só que n edu certo.

externalContext.getResourceAsStream(../../../../resources/<seu_arquivo>);

Mas blz eu vou deixar o properties na webContent mesmo :stuck_out_tongue:

valeu

[RESOLVIDO]

S

Amigo, não sei exatamente em um contexto web. Mas aqui tenho usado isso para aplicações JSE:

Class<XMLFormatter> refClass = XMLFormatter.class;
InputStream inputStream = refClass.getClassLoader().getResourceAsStream("removeEmpty.xsl");

Sendo que o arquivo removeEmpty.xsl está em src/removeEmpty.xsl e XMLFormatter é minha classe que faz uso do resource.

Abs

#Edit

Quando comecei a escrever não tinham as outras respostas. Por favor, desconsiderar.

Criado 16 de junho de 2011
Ultima resposta 16 de jun. de 2011
Respostas 6
Participantes 3