2017-02-23 11 views
0

私はliquibaseで変更を展開するantスクリプトを実行しようとしています。Liquibase ANT Build.xml Oracleドライバ

<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をがにインストールされている

  • ojdbc7.jar \ LiquiBaseを\:C:\ LiquiBaseを
  • JDBCドライバは次の場所にあります。C

    AntはC:\ apache-ant-1.10.1

  • にインストールされています。 C:¥projects¥lbdemo¥trunk¥build.xml
  • 私の変更ファイル:C:\ projects \ lbdemo \ trunk \ build.xml
  • 私のANTビルドファイル:C:\ apache-ant-1.10.1 \ lbdemo \トランク\ db_v4.xml

テスト

  • 私が正常にWindowsのコマンドラインを使用して、私の変更ファイルdb_v4.xmlsでLiquiBaseを更新を実行することができています。

  • すべてのliquibaseタグを削除すると、ANT build.xmlファイルを実行できます。

エラー:上記のANTビルドを実行しているとき、私は以下のエラーを取得しています

Iは、Oracleドライバが座るアリにLiquiBaseを伝えることができますどのように

C:\projects\lbdemo\trunk>ant

C:\projects\lbdemo\trunk\build.xml [liquibase:updateDatabase] Starting Liquibase.

BUILD FAILED C:\projects\lbdemo\trunk\build.xml:15: Class not found: oracle.jdbc.OracleDriver

Total time: 1 second

私は呼ば:ここhttp://www.liquibase.org/documentation/ant/index.html

+0

Liquibaseタスク( 'taskdef'内)の' classpath'にJDBCドライバを含める必要があります。 –

+0

ありがとうございました。私はパスタグを含め、それをupdateDatabaseタグで参照しました。 –

答えて

0

これを行うための簡単な方法は、あなたのすべての必要な(liquibase.jarとojdbc7.jar)を置くことであるライブラリと:どの私はupdateDatabaseタグで参照:LiquiBaseをパスIDを使用してそれらを参照してください。

<path id="liquibaseClasspath"> 
    <fileset dir="C:\projects\lbdemo\trunk\lib" includes="*.jar" /> 
</path> 
<target name="Upgrade_db"> 
    <echo message="Upgrading DataBase" /> 
    <updateDatabase changeLogFile="C:\projects\lbdemo\trunk\db_v4.xml" driver="${database.driver}" url="${database.url}" username="${database.username}" password="${database.password}" classpathref="liquibaseClasspath" /> 
</target> 

また、すべてのディレクトリの場所を1つのファイルに記述し、そのファイルをantファイルにインポートすることもできます。

0

正常に実行されたアリのbuild.xmlを。 ojdbcドライバとliquibase jarはともにC:¥liquibase¥にあります。一つのディレクトリにupdateDatabase classpathref =「driver.classpath」

<project name="Example" xmlns:liquibase="antlib:liquibase.integration.ant"> 

    <path id="driver.classpath"> 
    <filelist dir="C:\liquibase\" > 
     <file name="ojdbc7.jar" /> 
     <file name="liquibase.jar" /> 
    </filelist> 
    </path> 

    <property name="db.changelog.file" value="C:\projects\lbdemo\trunk\db_v4.xml"/> 
    <property name="database.url" value="jdbc:oracle:thin:@mydb.rds.amazonaws.com: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 classpathref="driver.classpath" databaseref="my-database" changelogfile="${db.changelog.file}"/> 

</project> 
関連する問題