@sandrosklyarov

Как засунуть конфиг-файлы и библиотеки внутрь jar?

Собираю проект с помощью Maven, потом запаковываю в exe в помощью launch4j. Итоговый exe, как и jar, работает только при наличии рядом двух папок: папка с конфиг-файлами (которые изменяются!) и папка в jar-зависимостями Maven.
Естественно, таскать за собой обе папки не особо хочется.
Что можно сделать?
Как-то вообще реально конфиг-файлы изменять внутри jar-а? Читать то легко, а вот записывать в них... Там два файла: xml и properties
И зависимости сразу в основной jar как то можно записывать?
  • Вопрос задан
  • 644 просмотра
Пригласить эксперта
Ответы на вопрос 3
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
1) Не страдайте фигней, для конфигов есть %APPDATA% или "user.home".
2) Зависимости можете тупо взять и засунуть в jar проги, т.е. открываете архиватором jar зависимости и все содержимое перетаскиваете в jar вашей программы.
3) Более правильный вариант просто настроить мавен чтобы он запаковывал зависимости в jar бинарника.
4) Более тупой вариант взять вашу прогу и сделать sfx архив который при клике на него распакуется куданибудь в %temp% и запустит программу.
5) Использование launch4j еще больший маразм, пользователь в большинстве случаев тупой и не догадается поставить рантайм явы. Лучше используйте Self-Contained Application Packaging
Ответ написан
Комментировать
@gubber
Как вариант. Надо иметь два набора конфигов, один стандартный внутри jar файла, второй настраиваемый снаружи. И потом по порядку:
1. читать настройки из файла стандартных настроек
2. читать настройки из файла опциональных настроек.
В этом случае для настроек не указанных во втором файле будут взяты значения по умолчанию.
Ответ написан
Комментировать
@sandrosklyarov Автор вопроса
Конфиги да, останутся внешними
В launch4j Есть функция скачивания Java, Java пользователям приложения всё равно понадобится...
Как-то нужно библиотеками maven зависисмости внутрь запаковать, наверно...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы