Liquibase 4.17.2升级后Ant脚本updateDatabase不支持driver属性求助
Liquibase Ant任务升级后"driver"属性报错的原因与解决方法
问题原因
Liquibase 4.x版本对Ant集成的任务结构做了重大调整。在3.8.3这类旧版本中,updateDatabase任务允许直接通过driver、url、username等属性配置数据库连接;但从4.x开始,官方重构了Ant任务的配置逻辑,将所有数据库连接相关的属性统一移到嵌套的<database>元素中,不再支持直接作为updateDatabase的属性传入,所以你会收到"不支持driver属性"的报错。
解决方法
修改你的liquibase-build.xml脚本,把原来直接写在updateDatabase上的数据库连接属性,迁移到嵌套的<database>标签内即可。
旧版本(3.8.3)写法示例:
<updateDatabase driver="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://localhost:3306/your_db" username="db_user" password="db_pass" changelogFile="path/to/your/changelog.xml" />
新版本(4.17.2)修改后的写法:
<updateDatabase changelogFile="path/to/your/changelog.xml"> <database driver="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://localhost:3306/your_db" username="db_user" password="db_pass" /> </updateDatabase>
注意:除了driver,url、username、password这类连接属性都需要迁移到<database>元素中。另外要确保Ant的lib目录里不仅有新版本的liquibase-core-4.17.2.jar,还要包含对应数据库的驱动jar包(比如MySQL的mysql-connector-java.jar),且驱动版本要和Liquibase 4.17.2兼容。
内容的提问来源于stack exchange,提问作者Abhishek
相关产品推荐
相关产品推荐

