Я разработал приложение Java, используя NetBeans IDE 8.2 на Ubuntu 14. Я попытался упаковать его, следуя инструкциям в этом учебнике, но это касается собственной упаковки NetBeans 7.4 в Windows. Я немного изменил его и использовал Netbeans 8.2 в Ubuntu (моя система), и я получил файл .deb в папке, указанной в учебнике.
Файл Project-name-1.0.deb может быть успешно установлен в моей системе Ubuntu, но при запуске этого установленного приложения отображается ошибка: java.sql.SQLException: Opening db:'DB-NAME.sqlite' : Permission denied
Приложение успешно выполняется в NetBeans без разрешения на отказ. Он показывает только ошибку, когда инсталлятор упакованного (.deb) установлен и запущен в Ubuntu. Как я могу упаковать приложение так, чтобы оно было установлено на Linux без разрешения на эту ошибку?
Приложение установлено в / opt с именем проекта, и все связанные файлы создаются в нем правильно при установке. Когда приложение выполняется, он пытается создать файл DB-NAME.db, который является причиной отказа в каталоге / opt. Как я могу это решить. Должен ли я добавить какой-либо код в build.xml для создания инсталляторов со всеми разрешениями хранилища в проекте NetBeans?
В моем проекте используется SQL-база данных для хранения данных. Я использовал JAR sqlite-JDBC-3.19.3.jar для своей библиотеки.
Класс java Connect.java выглядит следующим образом:
import java.sql.*;
import javax.swing.JOptionPane;
public class Connect {
Connection con = null;
Statement stmt = null;
public static Statement ConnectDB() {
try {
Connection conn = null;
Statement stmt = null;
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:JavaApp3DB.db");
stmt = conn.createStatement();
return stmt;
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
return null;
}
}