2015-12-03 2 views
1

Я создал приложение Java, которое использует встроенную базу данных derby в netbeans. Мне удалось упаковать приложение в качестве установщика exe, чтобы установить его на другие системы. Проблема в том, что при установке на другие системы приложение пытается найти базу данных с использованием исходного URL-адреса (который находится на компьютере, который я использовал в разработке). Как я могу решить проблему упаковки, чтобы база данных была упакована вместе со всеми необходимыми классами приложения?Упаковка приложения Java как exe-установщик с обновляемой базой derby в netbeans

+0

Задайте базу данных Derby в папке Application/Data. Соединение с динамически созданным URL. Где находится папка Data/Derby. Программное обеспечение для установки пользователей в разных местах. Создайте URL-адрес динамически на основе текущего местоположения приложения. –

+0

@ moskito-x, пожалуйста, позвольте мне беспокоить вас для получения дополнительной информации, у меня есть папка базы данных внутри папки приложения. Я думал, что у меня может быть база данных, расположенная в (возможно) месте user.home, когда приложение будет установлено, а затем приложение сможет получить доступ к базе данных оттуда при каждом ее запуске. Может ли это связать с построением динамического URL-адреса? –

+0

URL-адрес должен указывать на папку App/Data, а не на местоположение user.home. Поэтому создайте URL-адрес Dynamic, чтобы указать на папку App/Data, где пользователь установил приложение. Derby Конечно, также должен быть установлен на целевом компьютере. –

ответ

0

Ну, я считаю, что, возможно, нашел способ решить мою проблему. Я закончил тем, что сжимал папку базы данных в файл jar и добавлял ее в библиотеку проектов моего приложения. Когда приложение упаковано и установлено в другую систему, я вставляю код, который создает каталог внутри папки приложения и другой код для извлечения содержимого файла jar (базы данных) и размещения их во вновь созданной директории. Единственная проблема, с которой я столкнулся сейчас, - это то, что я считаю проблемой с разрешениями, потому что, хотя я могу создать папку для размещения извлеченной базы данных, код для извлечения файла базы данных базы данных, похоже, не работает.