![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Netbeans упаковывает приложение в executable jar. Файл свойств тоже в jar'е. Как обеспечить возможность редактирования свойств без разархивирования jar'а? Чтобы можно было остановить приложение, отредактировать проперти любым редактором и запустить опять. Свойства, относящиеся к GUI, например, редактировать нет смысла. А вот параметры подключения к базе данных вполне возможно. Было бы правильно, если IDE давало возможность класть некоторые проперти в папку с дистрибутивом, а не в архив. Но такой возможности в Netbeans я не нашел. Или у меня вообще желание не нормальное и как-то по-другому надо делать?
Может, свойства в принципе не предполагается редактировать таким образом? Например, мое приложение слушает на порту Y. Но, значит, предполагается, что есть клиент, который соединяется на этот порт Y. Значит, если я помещу Y в проперти сервера, и смогу его легко отредактировать, значит есть опасность что на клиенте это не будет скорректировано. Поэтому для этого предусмотрен, наверное, сервис JNDI. Ну и так далее. И это - забота об ускорении девелопмента и повышении качества. Или не все так сложно? Это сообщение отредактировал(а) COVD - 13.2.2008, 21:52 |
|||
|
||||
| BegemotX2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 13.11.2005 Репутация: 1 Всего: 1 |
Обычно это делается так: твое приложение читает настройки не из файла в jarе, а внешнего, расположенного, например, в user.dir/your-application.
Если это файла нет, то он создается со значениями по умолчанию/копируется из jar. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Мой вопрос как раз и был: можно ли это сделать в нетбинсе без погружения в ant и подобное?
Это сообщение отредактировал(а) COVD - 22.2.2008, 21:35 |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Как уже сказал BegemotX2, просто подгружайте настройки из файла, который не находтся в Jar-е.
Что значит "это"? Если вы хотите отредакторовать файл (текстовый) с настройками, который находится вне проекта, через NetBeans, то используйте окно Favorites что бы получить к нему дочтуп. Примонтируйте нужный каталог с настройками и открываейте нужные вам файлы. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Наконец дошло, что сказал BegemotX2. А как программа, запущенная из jar сможет найти файл, лежащий в одной папке с jar? Как путь определить?
Это сообщение отредактировал(а) COVD - 22.2.2008, 23:37 |
|||
|
||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
есть такое понятие рабочая директория. Так вот, если вы обращаетесь к файлу по отностетьному пути, то относительным он будет имеено от рабочей директории. Например, при запуске пограммы из консоли:
Рабочей директорией будет С:/ Просто положите файл в рабочую директорию, и обращайтесь к нему по относительному пути. Если файл с настроками лежит в одной папке с Jar файлом, то нужно этот Jar запускать из этой папки (рабочей директории). Более серьезное решение, это на этапе установки создавать по определенному пути (например домашний_каталог_пользователя/папка_с_настроками_моей_проги) специальный каталог для хранения файлов с настройками о котором программа всегда будет знать. |
||||
|
|||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Спасибо. Буду пробовать наощупь.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |