2017-04-06 77 views
1

由於某種原因,Liquibase maven插件在我的liquibase.properties文件中設置時未使用我的屬性。當我運行mvn liquibase:update時,我得到以下信息。Liquibase maven插件未使用classpath屬性

[INFO] there are no resolved artifacts for the Maven project. 
[INFO] Parsing Liquibase Properties File 
[INFO] File: target/classes/liquibase.properties 
[INFO] 'classpath' in properties file is not being used by this task. 

由於這個原因,更新失敗,因爲liquibase無法找到驅動程序,無法連接到數據庫。

我看到這個SO問題,但他們使用liquibase可執行文件而不是maven。我用它作爲如何使用liquibase.properties文件的例子。

Setting up Liquibase with MS-SQL Server

我看到它是打的異常L571到L588的異常,但實際的異常沒有打印出來,所以我不知道這個錯誤的原因。

https://github.com/liquibase/liquibase/blob/9ae7f90a0bbbbcec229a0788afa74831db348ced/liquibase-maven-plugin/src/main/java/org/liquibase/maven/plugins/AbstractLiquibaseMojo.java#L573

回答

1

,而不是設置在屬性文件中的類路徑中,你必須把驅動程序jar作爲你的Maven POM的依賴。

請參閱documentation for the Liquibase Maven Task,尤其是描述不同JDBC依賴關係的部分。這裏有一個片段:

的Maven的Liquibase更新

你需要確保你包括在Maven的POM文件的依賴關係部分的 數據庫相關的JDBC驅動程序實例。

MySQL的例子:

<project> 
    <dependencies> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <!-- Replace with the version of the MySQL driver you want to use --> 
      <version>${mysql-version}</version> 
     </dependency> 
    </dependencies> 
</project> 
+1

是啊!這似乎解決了這個問題。我將MSSQL驅動程序添加到我的POM文件依賴項中,並且工作正常。 –