Liquibase maven 插件,我的数据库驱动程序有问题

Liquibase maven plugin, issue with my database driver

我正在尝试使用 liquibase maven 插件生成变更日志 xml 文件。我将插件添加到我的 pom 文件中,如下所示。

            <plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <configuration>
                <propertyFile>web/src/main/resources/liquibase.properties</propertyFile>
                <changeLogFile>web/src/main/resources/data/changelog/db.changelog-master.xml</changeLogFile>
            </configuration>
        </plugin>

我正在使用 liquibase.properties:

url=jdbc:mysql://127.0.0.1:3306/recproject_test? 
useUnicode=yes&characterEncoding=UTF-8
username=recproject
password=sample
classpath=/repository/mysql/mysql-connector-java/5.1.38/mysql-connector- 
java-5.1.38.jar
changeLogFile=web/src/main/resources/data/changelog/db.changelog-1.0.0.xml

但是当我 运行 liquibase:generateChangeLog 作为 maven 目标时,我得到:

Error setting up or running Liquibase: liquibase.exception.DatabaseException: java.lang.RuntimeException: Cannot find database driver: com.mysql.cj.jdbc.Driver

我将 /mysql-connector-java jar 存储在外部库中,liquibase.properites 中的类路径是该文件的路径。

我从 here 下载了 mysql-connector-java-5.1.38.jar,但它不包含 com.mysql.cj.jdbc.Driver。 所以你应该使用数据库驱动 com.mysql.jdbc.Driver 或者 download newer version of driver 如果你想使用 com.mysql.cj.jdbc.Driver .

driver=com.mysql.jdbc.Driver 添加到您的属性中,如果您将其与另一个 MySql 数据库进行比较,那么您还需要包括 referenceDriver=com.mysql.jdbc.Driver。 Liquibase 似乎默认使用 MySQL 8 驱动程序,除非您同时指定驱动程序和 referenceDriver