Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Arquivo .properties dentro de uma Source Folder

tenho um arquivo properties dentro de minha aplicação. carrego ele assim:

        String is = "/properties/config.properties";

        Properties props = new Properties();
        InputStream file = new FileInputStream( is );
        props.load(file);
        return props;

Dentro do eclipse roda tudo certo, quando gero o jar ele não acha o arquivo.

7 respostas

Oi Luiz, você tentou usar o getResourceAsStream()?

SuaClasse.class.getClass().
            getResourceAsStream("/properties/config.properties")

tenta usar ele, só mudar o SuaClasse para o nome da classe em que vc está

Abraços!

Tentei sim, não deu certo, a estrututura do projeto ta assim

| src    |pacote    |pacote    |pacote    |pacote    |pacote    |pacote |properties    |config.properties

Quando eu Exporto o JAR a pasta properties some e o arquivo properties aparece na raiz do projeto

SuaClasse.class.getClass().
            getResourceAsStream("/properties/config.properties")

ou

SuaClasse.class.getClass().
            getResourceAsStream("config.properties")

O arquivo não é econtrado.

Você está usando algum framework?

já tentou colocar /config.properties?

tenta colocar a estrutura completa do seu projeto aqui?

você tem uma pasta src/main?

Estrutura do Projeto

/monitor
    /src
        /br.mobit.gui    
            class
            class
        /br.mobit.access
            class
            class
        /br.mobit.business
            class
    /properties
        comfig.properties
    /libraries

A única coisa que pode gerar esse problema é que quando gero o .jar, a pasta properties deixa de existir e a referencia ao arquivo é perdida. não estou usando nenhum framework e é um projeto desktop.

Oi Luis, acho improvável de isso estar acontecendo, mas pra tirar essa dúvida, vc ja tentou colocar o seu .properties dentro de algum outro pacote?

Tenta colocar ele dentro do mesmo pacote de onde está a classe que vc quer usar ele?

Ola Philippe, fiz esse teste ontem, se colocar dentro da raiz do projeto ou dentro de um pacote da certo. É só dentro do source folder que ocorre o problema.

/monitor
    /src
        /br.mobit.gui    
            class
            class
        /br.mobit.access
            class
            class
        /br.mobit.business
            class
    /properties (aqui é uma source folder)
        comfig.properties
    /libraries

ou seja, parece não dar certo carregar o .properties dentro de uma pasta, ele tem que esta na raiz do projeto ou dentro de um pacote :(

só me fala se cheguei a conclusão correta e podemos encerrar esse tópico.

solução!

Sim, é isso mesmo!

Abraços!