Есть ли способ сохранить встроенные файлы базы данных apache derby в jar

В моем проекте, когда я щелкнул файл jar, он извлек файлы встроенной базы данных рядом с собой.

Есть ли способ заставить их оставаться в файле jar?


person MOD    schedule 06.10.2011    source источник
comment
В чем разница между извлечением папки, содержащей базу данных дерби, в любую другую папку? Наверное, ничего. Наверняка есть информация как это сделать.   -  person Derrops    schedule 11.07.2015


Ответы (2)


Вы можете упаковать доступную только для чтения базу данных Derby в один из jar-файлов в пути к классам и получить к ней доступ, используя другую форму URL-адреса подключения. См.: http://db.apache.org/derby/docs/10.8/devguide/cdevdvlp24155.html и http://db.apache.org/derby/docs/10.8/devguide/cdevdeploy11201.html#cdevdeploy11201

person Bryan Pendleton    schedule 06.10.2011
comment
но я должен вставить значения в базу данных - person MOD; 06.10.2011
comment
Derby не поддерживает обновление данных базы данных в банке. Я полагаю, вы могли бы: (а) извлечь исходный образ БД из банки в файловую систему, (б) обновить/вставить данные в базу данных на основе файловой системы, затем (в) повторно упаковать данные в банку. Но, возможно, вам пора переосмыслить дизайн вашего приложения (или, по крайней мере, раскрыть больше того, что вы пытаетесь сделать, как часть вашего первоначального вопроса). - person Bryan Pendleton; 07.10.2011

Конечно, это возможно, вы можете поместить свой образ БД в любой путь к классам JAR и получить к нему доступ, используя:

Class.getResourceAsStream()
person Barmaley    schedule 06.10.2011
comment
Я не могу найти такой метод, как getResourceAsStream - person MOD; 06.10.2011
comment
И еще кое-что; как поместить изображение БД в путь к классам jar? (я использую нетбинс) - person MOD; 06.10.2011