首页 > 解决方案 > 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 是否导致了这个问题。在 Java 10 中使用 liquibase 时还有其他人有类似的情况吗?

标签: javamavenliquibase

解决方案


推荐阅读