Я хочу распространять приложение Java, которое подключается к внешней базе данных, используя файл свойств Java. Моя проблема заключается в том, что, как только мой проект экспортируется в виде файла Jar (а затем в виде EXE-файла с использованием Launch4j) в другом месте, чем корневая папка моего проекта, происходит сбой подключения к моей базе данных, и большинство моих изображений не загружаются.
Что касается только соединения, я попробовал несколько вещей, чтобы прочитать свойства соединения, записанные во внешнем файле, который находится в исходной папке:
![Project structure](https://i.stack.imgur.com/Wuhzt.png)
код:
![Code reading the properties file with the connection parameters](https://i.stack.imgur.com/oDH9b.png)
Я также попытался поместить файл свойств в корневую папку моего проекта: оба способа работают при запуске проекта, но не запускаются при запуске jar или exe.
Сначала я подумал, что это просто из-за экспорта моего проекта, который, возможно, потерпел неудачу из-за неправильных настроек. Но я начинаю думать, что у меня может быть неправильное понимание того, как импортировать ресурсы в проект Java, даже если я подумал, что следил за несколькими темами на эту тему в Stackoverflow.
Итак:
- Как лучше всего включить файлы свойств таким образом, чтобы можно было экспортировать их в файл Jar / exe?
- Или эти файлы должны быть включены после генерации Jar, путем ссылки на них при создании exe-файла? Как бы это было?
Поскольку файл подключения содержит некоторые важные данные (например, пароль для подключения к базе данных), я надеялся, что существует официальный способ защитить этот файл от нежелательного доступа после экспорта файла Jar / exe.
Большое спасибо за помощь.
Я могу предоставить больше кода и изображений, если это необходимо.