Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > проперти файл из shared/classes


Автор: Samotnik 4.10.2010, 21:31
Привет. 
Есть веб приложение, крутится на томкате. В приложении используется property файл. Мне нужно его положить в tomcat/shared/classes/config.property
Проблема состоит в том, как его считать в Java классе smile ?

Автор: Vladus 5.10.2010, 10:01
Samotnik, доброго времени суток. Я точно не уверен, но разве в classpath не добавлен путь к этой директории? Если добавлен, то можно попробовать так
Код

InputStream in = this.getClass().getClassLoader().getResourceAsStream("file.property");

И еще, если томкат версии 6 и выше, то нужно в catalina.properties указать путь к это директории
Код

shared.loader=${catalina.home}/shared/classes,${catalina.home}/shared/classes/

И еще, если конфигурить из спрингового бина, то вот так можно считывать
Код

    <bean id="jdbcPropertyConfigurer"
          class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
          p:location="classpath:app_name/jdbc.properties"
          p:placeholderPrefix="$jdbc{"/>

Так что можно посмотреть как работает этот объект - PropertyPlaceholderConfigurer

Автор: Samotnik 5.10.2010, 10:39
Цитата(Vladus @  5.10.2010,  10:01 Найти цитируемый пост)
И еще, если томкат версии 6 и выше, то нужно в catalina.properties указать путь к это директории

это я знаю, только почему у тебя одно и тоже 2 раза через запятую ? 
Я просто прописал
Код

shared.loader=${catalina.home}/shared/classes

работает !  smile  
спасибо за 
Код

InputStream in = this.getClass().getClassLoader().getResourceAsStream("file.property");

Я вчера писал 
Код

InputStream in = this.getClass().getResourceAsStream("/" + PROPERTIES_FILENAME);

и был in = null

Автор: Vladus 5.10.2010, 10:47
Цитата

это я знаю, только почему у тебя одно и тоже 2 раза через запятую ? 

опечатка.
Ну если не работает, то я бы смотрел в сторону спринговых PropertyPlaceholderConfigurer или даже PropertiesLoaderSupport (вроде он ресурсы загружает).

Автор: Samotnik 5.10.2010, 10:55
Vladus, а зачем ? У меня спринга нету. Работает и круто smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)