2016-06-10 2 views
2

Я пытаюсь загрузить файл конфигурации. Но это не работает мой файл конфигурации находится под WEB-INF папкуФайл конфигурации не найден JAVA EE

и вот мой код, чтобы загрузить конф файл:

private static final String PROPERTIES_FILE = "/WEB-INF/dao.properties"; 
ClassLoader classloader = Thread.currentThread().getContextClassLoader(); 
     InputStream fichierProperties = classloader.getResourceAsStream(PROPERTIES_FILE); 

     if (fichierProperties == null) { 
      throw new DAOConfigurationException("file "+PROPERTIES_FILE+ " not found"); 
     } 

Я всегда получаю этот файл ошибок не найден , Должны внести некоторые изменения в путь сборки?

ответ

1

Для простой цели, попробуйте

Поместите dao.properties внутри src папки (где источник положить код).

Изменения в

private static final String PROPERTIES_FILE = "dao.properties"; // <------- 
ClassLoader classloader = Thread.currentThread().getContextClassLoader();  
InputStream fichierProperties = classloader.getResourceAsStream(PROPERTIES_FILE); 

if (fichierProperties == null) { 
    throw new DAOConfigurationException("file "+PROPERTIES_FILE+ " not found"); 
} 
+0

Спасибо за ваш ответ ! но мой файл конфигурации находится в безопасном месте в папке src? –

+0

использовать 'classpath:' (вы ищете Google, например, используйте 'classpath' с ключевым словом:' java classpath properties'). Я ищу вам хороший пример: http://crunchify.com/java-properties-file-how-to-read-config-properties-values-in-java/ и http://stackoverflow.com/questions/ 9663564/как к багажным файлам-свойства-из-веба-инф-каталог? LQ = 1 –

1

Если поместить файл в директории WEB-INF, Вы можете использовать объект контекста, чтобы прочитать файл, как показано, если у вас есть доступ к контексту сервлета

InputStream input = context.getResourceAsStream("/WEB-INF/dao.properties");