Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Свойства web-приложений, Загрузка свойств 
:(
    Опции темы
JVM
Дата 7.12.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 30.10.2006

Репутация: 1
Всего: 5



Есть набор свойств общие для нескольких web-приложений. При сборке копирую их в файл "WEB-INF/resourses/my.properties"
Хочу загрузить их
Код

        String MY_PROPERTIES = "../../resourses/my.properties"; //пробую всякие пути

        InputStream myPropertiesInputStream = null;
        try {
            ClassLoader loader = MyAction.class.getClassLoader();
            myPropertiesInputStream = loader.getResourceAsStream(MY_PROPERTIES);
...


но загрузки не происходит.
Загрузка происходит из Action (struts) в блоке static.

Что делаю не так? Как можно загрузить эти свойства?

Это сообщение отредактировал(а) JVM - 8.12.2009, 11:49
PM MAIL   Вверх
ivanovpv
Дата 7.12.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 2
Всего: 28



.properties должен лежать в CLASSPATH... Либо включите resources в класспаз или же положите properties в classes


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
JVM
Дата 8.12.2009, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 30.10.2006

Репутация: 1
Всего: 5



ivanovpv, спасибо. Разобрался.
А почему .properties должен лежать в classes? На это есть какая-то документация?

Если свойства будут лежать в WEB-INF/resources, как к ним добраться?
PM MAIL   Вверх
ivanovpv
Дата 8.12.2009, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 2
Всего: 28



Цитата(JVM @  8.12.2009,  11:48 Найти цитируемый пост)
А почему .properties должен лежать в classes? На это есть какая-то документация?


По кочану, потому что так определил Sun

Цитата(JVM @  8.12.2009,  11:48 Найти цитируемый пост)
Если свойства будут лежать в WEB-INF/resources, как к ним добраться? 


Добавить в startup скрипт сервера добавление в CLASSPATH этого каталога. Настоятельно не рекомендую делать этого поскольку спецификация Java Servlet предусматривает 2 каталога: WEB-INF/classes и WEB-INF/lib, которые должны находиться в класспазе. Любые сторонние каталоги не будут автоматически в CLASS PATH соответственно приложение будет непортабельным и будет зависеть от сервера (или способа его запуска). 


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
JVM
Дата 8.12.2009, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 30.10.2006

Репутация: 1
Всего: 5



Согласен, что из предложенных вариантов лучше положить свойства в папку classes.

Но не могу понять почему они должны быть обязательно в classes? Из документации я так и не понял почему.

PM MAIL   Вверх
serger
Дата 8.12.2009, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 2
Всего: 5



Цитата(JVM @  8.12.2009,  16:28 Найти цитируемый пост)
Но не могу понять почему они должны быть обязательно в classes? Из документации я так и не понял почему.

А я не понимаю почему таки не понятно.  smile 
Можно задуматься, а как ещё можно сделать?
Просто java загружает классы через classpath, логично, что ресурсы, при отсутствии явных указаний, проще грузить так же.


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
JVM
Дата 8.12.2009, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 30.10.2006

Репутация: 1
Всего: 5



Цитата(serger @ 8.12.2009,  18:02)
Цитата(JVM @  8.12.2009,  16:28 Найти цитируемый пост)
Но не могу понять почему они должны быть обязательно в classes? Из документации я так и не понял почему.

А я не понимаю почему таки не понятно.  smile 
Можно задуматься, а как ещё можно сделать?
Просто java загружает классы через classpath, логично, что ресурсы, при отсутствии явных указаний, проще грузить так же.

Потому, что классы, свойства можно загружать из любого источника - не обязательно файловой системы.

Было сказано, что он  должен там лежать. Вот поэтому и не понятно.
PM MAIL   Вверх
serger
Дата 8.12.2009, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 2
Всего: 5



Ну а в файловой системе, по-умолчанию, в classpath?  smile 


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
ivanovpv
Дата 9.12.2009, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 2
Всего: 28



Цитата(JVM @  8.12.2009,  16:28 Найти цитируемый пост)
Но не могу понять почему они должны быть обязательно в classes? Из документации я так и не понял почему.


Эээ батенька, философию любите значит? Действительно в документации не пишется почему - там пишется что вот там то и все:
Цитата

The class path is the path that the Java runtime environment searches for classes and other resource files.


Если копать глубже то я думаю все идет от переменной $PATH активно используемой в том же UN*X (а потом уже и в виндах), $CLASSPATH совершенно очевидно введен именно по аналогии с ним.

Это сообщение отредактировал(а) ivanovpv - 9.12.2009, 08:39


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.