Thursday, January 20, 2011

Acessar properties a partir de uma classe no mesmo jar

Mais um post da série: "É melhor anotar! Afinal, vai que, você sabe...."

Como acessar um arquivo properties, ou qualquer tipo de arquivo, a partir de uma classe definida dentro do mesmo jar?


A estrutura do arquivo aplicacao.jar seria algo mais ou menos assim:

| META-INF/
| META-INF/conf.properties
| br/
| br/com/
| br/com/yaw/
| br/com/yaw/LeProperties.class

Simples, através do getResourceAsStream do ClassLoader da classe LeProperties:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class LeProperties {
  static {
    ...
    try {
      Properties p = new Properties();
      p.load(LeProperties.class.getClassLoader().getResourceAsStream("META-INF/conf.properties"));
    } catch (Exception e) {
      ...
    }
  }
 
  ...
 
}

@edermag
http://www.yaw.com.br/