【发布时间】:2017-09-22 13:05:23
【问题描述】:
我正在尝试运行一个 ant 脚本来通过 liquibase 部署更改。
<project name="Example" xmlns:liquibase="antlib:liquibase.integration.ant">
<taskdef
resource="liquibase/integration/ant/antlib.xml"
uri="antlib:liquibase.integration.ant">
<classpath path="C:\liquibase\lib\liquibase\"/>
</taskdef>
<property name="db.changelog.file" value="C:\projects\lbdemo\trunk\db_v4.xml"/>
<property name="database.url" value="jdbc:oracle:thin:@mydb:1521:ORCL"/>
<property name="database.username" value="myuser"/>
<property name="database.password" value="mypassword"/>
<property name="database.driver" value="oracle.jdbc.OracleDriver"/>
<liquibase:database id="my-database" driver="${database.driver}" url="${database.url}" user="${database.username}" password="${database.password}"/>
<liquibase:updateDatabase databaseref="my-database" changelogfile="${db.changelog.file}"/>
</project>
安装路径:
- Liquibase 安装在:C:\liquibase
JDBC 驱动位于:C:\liquibase\ojdbc7.jar
Ant 安装在:C:\apache-ant-1.10.1
- 我将 liquibase.jar 复制到:C:\apache-ant-1.10.1\lib
- 我的 ANT 构建文件:C:\projects\lbdemo\trunk\build.xml
- 我的更改文件:C:\projects\lbdemo\trunk\db_v4.xml
测试
我能够使用 Windows 命令行使用我的更改文件 db_v4.xmls 成功运行 liquibase 更新。
如果我从 ANT build.xml 文件中删除所有 liquibase 标签,我就可以运行它。
错误:
运行上述 ANT 构建时出现以下错误:
C:\projects\lbdemo\trunk>蚂蚁
C:\projects\lbdemo\trunk\build.xml [liquibase:updateDatabase] 开始 Liquibase。
构建失败 C:\projects\lbdemo\trunk\build.xml:15:找不到类: oracle.jdbc.OracleDriver
总时间:1秒
如何告诉 ant 中的 liquibase,Oracle 驱动程序位于何处?
【问题讨论】:
-
Liquibase 任务需要在
classpath中包含JDBC 驱动程序(在taskdef内) -
谢谢你,这有帮助。我包含了一个路径标记并在 updateDatabase 标记中引用了它。