[resolvido]Ler arquivo .properties em diretório src/main/resources

Boa tarde, gujeiros!
Camaradas, estou com um problema para ler arquivos de propriedades, de um diretório que está hierarquicamente fora da estrutura das classes.
Meu projeto está dividido nesta estrutura:

Eu sei que para ler um arquivo de propriedades existem diversas formas diferentes, entre elas, o uso de um InputStream, do pacote java.io (que é o que eu estou fazendo).
Acontece que, por algum motivo obscuro, não consigo fazer a leitura nesta estrutura que possuo.

Quando eu altero e coloco o arquivo configuration.properties no diretório java, consigo lê-lo da seguinte forma:

InputStream is = getClass().getResourceAsStream("../../../../../configuration.properties");
//Nesta estrutura, a classe se encontra no 5º nível de packages (br.com.projeto.util.props). a partir de java.

Agora, se coloco em main ou src, ele já não acha, mesmo que eu coloque mais um ou dois “…/”, o que, pela lógica, seria o óbvio.

Aí começa meu problema, como, aparentemente, a JVM não está encontrando sequer o “src”, quem dirá achar o pacote main/resources" que é onde preciso manter o meu properties.

Mesmo seguindo estas explicações, ainda assim, não consegui avançar muito:


http://mindprod.com/jgloss/getresourceasstream.html

Alguém teve essa mesma experiência? Consegue me ajudar?

Camaradas, resolvido.
O problema era nas configurações do java build path, que definem o que o jar irá conter.
No caso, eu não estava exportando para o jar os arquivos do diretório resources, logo, não seria possível encontrar nada.

Solução: Botão direito do mouse sobre o projeto > properties > java build path > aba source > expanda os packages >

  • verifique se em Included está ALL e em Excluded está none
  • verifique se allow output folders for source folders está DESMARCADO.

clique em ok.

E para ler

InputStream is = getClass().getResourceAsStream("/configuration.properties");
1 curtida

drsmachado,

cara obrigado por compartilhar a solução da maneira que compartilhou com um passo-a-passo,
são poucos os que fazem isso, a maioria apenas diz que foi resolvido ou da uma explicada superficial, quando alguém de nível iniciante que está totalmente perdido vê uma explicação superficial não consegue se encontrar.
no seu caso fez um passo-a-passo de um assunto que de certa forma é simples mas tenho certeza que será muito útil pra muitas pessoas.

parabéns cara.

Muito Obrigado cara, a informação foi muito útil.
O google não é nada sem os caras desse fórum