Liquibase Maven插件,数据库驱动程序出现问题

时间:2018-09-05 10:43:51

标签: java maven spring-boot liquibase

我正在尝试使用liquibase maven插件生成changelog 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是此文件的路径。

2 个答案:

答案 0 :(得分:4)

我已经从here下载了mysql-connector-java-5.1.38.jar,但其中不包含com.mysql.cj.jdbc.Driver。 因此,如果要使用com.mysql.jdbc.Driver,则应使用数据库驱动程序com.mysql.cj.jdbc.Driverdownload newer version of driver

答案 1 :(得分:0)

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