#java #maven #derby
#java #maven #derby
Вопрос:
После обновления проекта Java 12 maven до Apache Derby 10.15 модульный тест базы данных начал завершаться сбоем:
Failed to get driver instance for jdbcUrl=jdbc:derby:memory:myDB;create=true
java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:derby:memory:myDB;create=true
Как мне устранить проблему?
Ответ №1:
Согласно примечаниям к выпуску для Apache Derby 10.15.1.3:
Derby был повторно упакован в виде набора модулей JPMS. Это привело к появлению нового файла jar, derbyshared.jar требуется для всех конфигураций.
derbyshared.jar это модуль commons, который содержит утилиты межмодульной поддержки.
Чтобы устранить проблему, добавьте зависимость от derbyshared maven:
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyshared</artifactId>
<version>10.15.1.3</version>
</dependency>
Обновление Derby 10.15.2.0 (март 2020)
Согласно примечаниям к выпуску версии 10.15.2.0, проблема с зависимостью maven была исправлена в тикете DERBY-7040.
Чтобы устранить проблему, обновите версию derby:
10.15.2.0
Комментарии:
1. «derbyshared» был добавлен как зависимость во время компиляции в версии 10.15.2.0 к артефактам derby, derbynet, derbyclient и derbytools. Следовательно, вам не нужно явно объявлять derbyshared как зависимость в ваших конфигурациях.