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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Редактирование свойств приложения в jar'е 
V
    Опции темы
COVD
Дата 13.2.2008, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Netbeans упаковывает приложение в executable jar. Файл свойств тоже в jar'е. Как обеспечить возможность редактирования свойств без разархивирования jar'а? Чтобы можно было остановить приложение, отредактировать проперти любым редактором и запустить опять. Свойства, относящиеся к GUI, например, редактировать нет смысла. А вот параметры подключения к базе данных вполне возможно. Было бы правильно, если IDE давало возможность класть некоторые проперти в папку с дистрибутивом, а не в архив. Но такой возможности в Netbeans я не нашел. Или у меня вообще желание не нормальное и как-то по-другому надо делать? 

Может, свойства в принципе не предполагается редактировать таким образом? Например, мое приложение слушает на порту Y. Но, значит, предполагается, что есть клиент, который соединяется на этот порт Y. Значит, если я помещу Y в проперти сервера, и смогу его легко отредактировать, значит есть опасность что на клиенте это не будет скорректировано. Поэтому для этого предусмотрен, наверное, сервис JNDI. Ну и так далее. И это - забота об ускорении девелопмента и повышении качества. Или не все так сложно?  

Это сообщение отредактировал(а) COVD - 13.2.2008, 21:52
PM MAIL   Вверх
BegemotX2
Дата 22.2.2008, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Обычно это делается так: твое приложение читает настройки не из файла в jarе, а внешнего, расположенного, например, в user.dir/your-application.
Если это файла нет, то он создается со значениями по умолчанию/копируется из jar.
PM MAIL   Вверх
COVD
Дата 22.2.2008, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Мой вопрос как раз и был: можно ли это сделать в нетбинсе без погружения в ant и подобное?

Это сообщение отредактировал(а) COVD - 22.2.2008, 21:35
PM MAIL   Вверх
powerOn
Дата 22.2.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 47
Всего: 159



Как уже сказал BegemotX2, просто подгружайте настройки из файла, который не находтся в Jar-е. 

Цитата(COVD @  22.2.2008,  21:30 Найти цитируемый пост)
Мой вопрос как раз и был: можно ли это сделать в нетбинсе без погружения в ant и подобное?

Что значит "это"? Если вы хотите отредакторовать файл (текстовый) с настройками, который находится вне проекта, через NetBeans, то используйте окно Favorites что бы получить к нему дочтуп. Примонтируйте нужный каталог с настройками и открываейте нужные вам файлы. 



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
COVD
Дата 22.2.2008, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Наконец дошло, что сказал BegemotX2. А как программа, запущенная из jar сможет найти файл, лежащий в одной папке с jar? Как путь определить?

Это сообщение отредактировал(а) COVD - 22.2.2008, 23:37
PM MAIL   Вверх
powerOn
Дата 22.2.2008, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 47
Всего: 159



Цитата(COVD @  22.2.2008,  23:36 Найти цитируемый пост)
А как программа, запущенная из jar сможет найти файл, лежащий в одной папке с jar? Как путь определить?


есть такое понятие рабочая директория. Так вот, если вы обращаетесь к файлу по отностетьному пути, то относительным он будет имеено от рабочей директории.
Например, при запуске пограммы из консоли:
Цитата

C:/ > C:/SomeDir/MyProgram.exe


Рабочей директорией будет С:/

Просто положите файл в рабочую директорию, и обращайтесь к нему по относительному пути. Если файл с настроками лежит в одной папке с Jar файлом, то нужно этот Jar запускать из этой папки (рабочей директории).

Более серьезное решение, это на этапе установки создавать по определенному пути (например домашний_каталог_пользователя/папка_с_настроками_моей_проги) специальный каталог для хранения файлов с настройками о котором программа всегда будет знать.


--------------------
user posted image нет времени думать - нужно писать КОД!

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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



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

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

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


 




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


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

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