Обновление Java 10 и Liquibase-maven-plugin не находит java / sql / Driver

В настоящее время я обновляю свои интеграционные тесты с Java 8 до Java 10. Однако, когда я запускаю какой-либо из своих интеграционных тестов, когда для JAVA_HOME установлено значение Java 10, я получаю следующую ошибку при запуске обновления Liquibase-maven-plugin:

[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.6.2:update (update-schema) on project econiq-rest-it: Execution update-schema of goal org.liquibase:liquibase-maven-plugin:3.6.2:update failed: A required class was missing while executing org.liquibase:liquibase-maven-plugin:3.6.2:update: java/sql/Driver
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.liquibase:liquibase-maven-plugin:3.6.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/sryan/.m2/repository/org/liquibase/liquibase-maven-plugin/3.6.2/liquibase-maven-plugin-3.6.2.jar
[ERROR] urls[1] = file:/C:/Users/sryan/.m2/repository/com/econiq/db/econiq-db-h2/4.0.0-SNAPSHOT/econiq-db-h2-4.0.0-SNAPSHOT.jar
[ERROR] urls[2] = file:/C:/Users/sryan/.m2/repository/com/econiq/db/econiq-db-common/4.0.0-SNAPSHOT/econiq-db-common-4.0.0-SNAPSHOT.jar
[ERROR] urls[3] = file:/C:/Users/sryan/.m2/repository/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar
[ERROR] urls[4] = file:/C:/Users/sryan/.m2/repository/org/liquibase/liquibase-core/3.6.2/liquibase-core-3.6.2.jar
[ERROR] urls[5] = file:/C:/Users/sryan/.m2/repository/org/yaml/snakeyaml/1.18/snakeyaml-1.18.jar
[ERROR] urls[6] = file:/C:/Users/sryan/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
[ERROR] urls[7] = file:/C:/Users/sryan/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[project>com.econiq.rest:econiq-rest-it:4.0.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : java.sql.Driver

Я знаю, что Liquibase работает с Java 10, так как у меня также есть отдельный pom.xml, который запускает автономный сервер WildFly 14 и где я запускаю любую обновленную схему с помощью плагина liquibase-maven-plugin, и он отлично работает. Совершенно запутался, почему, когда я запускаю его в качестве интеграционного теста, он не может найти java.sql.Driver.

Я использую последнюю версию Liquibase-maven-plugin 3.6.2, но я вижу, что она использует более старую версию plexus-utils, поэтому мне интересно, не вызывают ли проблемы старые plexus-utils. У кого-нибудь еще было подобное при использовании Liquibase в Java 10?

В Java 10 плагину liquibase-maven может потребоваться обновление, потому что он не может получить доступ к java.sql.Driver, который является другим модулем java ...

khmarbaise 03.10.2018 10:30

К сожалению, 3.6.2 - это последний плагин Liquibase-maven-plugin. На данный момент у меня есть обходной путь, используя плагин exec-maven-plugin для внешнего вызова Liquibase для создания базы данных, необходимой для интеграционных тестов. Это работает до тех пор, пока я не выясню, какая зависимая банка вызывает проблему, поскольку я не верю, что проблема связана с Liquibase.

S Ryan 03.10.2018 14:37
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
302
0

Другие вопросы по теме