Внутренняя база данных только для чтения хранится в своем собственном файле только для ресурсов. После модульности файл базы данных не может быть найден DriverManager, что приводит к следующему сообщению об ошибке.
FATAL : 09:13:32 (830) - could not reopen database
org.hsqldb.HsqlException: Database does not exists: /database/prodsoft
Я конвертирую приложение нашей компании из JDK8, используя ANT, в JDK11, используя модульность и Maven. Он разработан с Eclipse. Многие проблемы уже исправлены, но для этой проблемы я не могу найти решение самостоятельно.
Я уже пытался переместить файлы базы данных из своего собственного проекта в папку ресурсов maven проекта Ядро , где он используется.
Я также пытался открыть базу данных; (папку ресурсов) в файле module-info.java проекта Kernel .
Файлы базы данных prodsoft.properties и prodsoft.script теперь находятся в
src/main/resources/database/
Класс, который запускает DriverManager -
src/main/java/de/benthin/dataaccess/DatabaseReadOnly
Драйвер hsqldb-2.4.1.jar успешно найден и используется DriverManager.
// ApplicationProperties.DATABASE_CONNECTION = "jdbc:hsqldb:res:database/prodsoft"
db_con = DriverManager.getConnection(
properties.getValue(ApplicationProperties.DATABASE_CONNECTION),
properties.getValue(ApplicationProperties.DATABASE_USER),
properties.getValue(ApplicationProperties.DATABASE_PASSWORD)
);
db_con.setAutoCommit(true);
db_con.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
db_con.setReadOnly(true);