Я хочу сделать работающую программу, написанную на Java на Mac, доступной для пользователя Windows, но в Windows происходит сбой соединения со странным сообщением об ошибке, указывающим, что Windows ищет базу данных в C::\windows\system32
.БД SQLite находится в той же папке, что и Java-программа:
Connection conn = DriverManager.getConnection("jdbc:sqlite:Databasess/Logic1.sqlite");
Я создал JAR-файл и поместил его в папку с именем Aurora
, поэтому она выглядит следующим образом:
TeachingMachine
Aurora.v2.jar
Images
Audio
databases
Logic1.sqlite
Logic2.sqlite
Перенесите всю папку на другой Mac, и она отлично работает.Перенесите ту же папку в мой HP, работающий под управлением Windows10, и сразу же выдает ошибку, которую я скопировал с моего HP на мой Mac:
JAVA.SQL ‘SQLEXCEPTION: path to ’databases/Logic1.sqlite’: C:\windows\system32:’databases’ does not exist
Я искал просьбы о помощи относительно windows\system32
, ибольшие части сообщения об ошибке.Я нашел некоторых людей, чьи вопросы включали гремлины в их коде для подключения к SQLite или другим базам данных, но пока ничего не упоминает о проблеме, которую я изложил здесь.
Существует папка для system32
на моем ПК с Windows, но я пытаюсь создать единую программу, которую я могу обслуживать и распространять среди людей, работающих под управлением различных операционных систем.Было бы самоубийством копировать мои базы данных в system32
.
Это тот же базовый код для подключения, который я использовал более года.Конечно, нет никаких упоминаний о system32
.
Connection conn = null;
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:databases/Logic2.sqlite");
return conn;
}catch (Exception e)
Ожидаемые результаты - это то, что я получаю на любом Mac, на котором я его пробовал, и фактический результат, когда я запускаю тот же кодв Windows 10 я получаю только одно сообщение об ошибке.