我正在尝试使用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是此文件的路径。
答案 0 :(得分:4)
我已经从here下载了mysql-connector-java-5.1.38.jar
,但其中不包含com.mysql.cj.jdbc.Driver
。
因此,如果要使用com.mysql.jdbc.Driver
,则应使用数据库驱动程序com.mysql.cj.jdbc.Driver
或download newer version of driver。
答案 1 :(得分:0)
将driver=com.mysql.jdbc.Driver
添加到属性中,如果将其与另一个MySql数据库进行比较,则还需要包含referenceDriver=com.mysql.jdbc.Driver
。除非您同时指定驱动程序和referenceDriver,否则似乎Liquibase将默认使用MySQL 8驱动程序。