упаковка и развертывание настольного Java-приложения со встроенной базой данных - PullRequest
1 голос
/ 11 января 2012

Я создал простое настольное приложение, которое использует встроенную базу данных (derby) из netbeans. После добавления двух записей в таблицу внутри ide и повторного запуска она работает идеально. Но когда я дважды щелкаю по исполняемому файлу jar за пределами ide, то пустойБаза данных показана в чем может быть причина?Я также хотел бы знать, как заставить это работать на клиентском компьютере. Я попытался добавить файлы jar и lib в папку и преобразовать их в файл rar, но я не нашел файл jar после распаковки. Я новичок в этоми любая помощь будет оценена. Спасибо заранее

1 Ответ

2 голосов
/ 12 января 2012

Существует две распространенные причины, по которым вы неожиданно получаете пустую базу данных:

  1. Вы говорите '; create = true' и используете относительное имя базы данных, что означает, что вы даете Derby разрешение на создание новой базы данных, если она не существует, а затем ваш домашний каталог системы Derby меняется от запуска к запуску, так что вы в конечном итоге создаете новые копии базы данных каждый раз в разных текущих каталогах.

  2. Вы используете другое имя пользователя при подключении к базе данных. Поскольку имя пользователя, к которому вы подключаетесь, неявно указывает схему, в которой находятся ваши таблицы, использование другого имени пользователя приводит к тому, что вы видите совершенно другой набор таблиц или, в зависимости от того, как вы на это смотрите, пустую базу данных.

Что касается jars и rars и тому подобного, крайне важно правильно управлять своим CLASSPATH. Вы должны иметь код Derby в CLASSPATH во время выполнения. Существует множество способов сделать это, поэтому вам нужно четко указать особенности вашей ситуации, чтобы другие могли оказать вам большую помощь.

...