Как включить файл sqlite db в jar в netbeans? - PullRequest
3 голосов
/ 27 августа 2011

Я использую sqlite в своем Java-приложении.Когда я запускаю его из Netbeans, он работает хорошо.Файл базы данных sqlite находится в корневом каталоге проекта (на том же уровне, что и build.xml).
Это код для доступа к файлу базы данных:

DriverManager.getConnection("jdbc:sqlite:database.db");

Однако, когда я собираю проект,и запустить файл JAR за пределами NetBeans, я всегда получаю эту ошибку: no such table: table_name

Мой вопрос: где находится правильное место для размещения файла "sqlite db"?Возможно ли упаковать его в файл JAR?

Я пытался упаковать свое приложение в один файл JAR (аналог FatJar в Eclipse), но все равно получаю эту ошибку.В этом случае я изменяю build.xml, как описано в этом блоге:
Netbeans single JAR

Я также попытался создать папку базы данных в каталоге src, а затем поместить dbфайл внутри папки (src / database / database.db) и доступ к нему с помощью

DriverManager.getConnection("jdbc:sqlite:src/database/database.db");

Я могу запустить его внутри netbeans.Но когда я запускаю его снаружи, я получаю эту ошибку:

path to 'src/database/database.db':C:\Windows\system32\src' does not exist  

Я знаю, что есть подобные вопросы в stackoverflow, но у большинства из них нет конкретного решения.Дайте мне знать, если кто-то нашел лучший.

Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 28 августа 2011

Проблема решена!

Я допустил ошибку при выполнении файла JAR. Ранее я запускал файл JAR, щелкнув по нему правой кнопкой мыши и открыв его с помощью двоичного файла Java SE. Мне нужно это сделать, потому что на моем ПК по умолчанию для открытия файла JAR была установлена ​​другая программа.
Оказалось, что я должен установить программу по умолчанию на Java SE Binary и дважды щелкнуть файл JAR, чтобы запустить мое приложение. Используя этот способ, я могу без проблем запустить и получить доступ к файлу sqlite db.

Надеюсь, это поможет другим, у которых может возникнуть та же проблема, что и у меня.

0 голосов
/ 27 августа 2011

вероятно, вам нужно указать приложению включить базовый каталог приложения в classpath.команда для запуска вашего приложения должна выглядеть примерно так:

java -cp . YourAppMainClass

«-cp.» - это параметр команды, который указывает java включить текущий каталог в classpath.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...