Не удалось получить экземпляр драйвера для Derby 10.15

#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 как зависимость в ваших конфигурациях.