由于某种原因,当我在liquibase.properties文件中设置它时,Liquibase maven插件没有使用我的属性。当我运行mvn liquibase:update时,我会得到以下信息。
[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.因此,更新失败,因为液化库找不到驱动程序,也无法连接到数据库。
我看到了这样的问题,但他们使用的是液化基可执行文件,而不是maven。我用它作为如何使用liquibase.properties文件的示例。
我知道它击中异常的位置,L571到L588,异常,但是实际的异常没有被打印出来,所以我不知道错误的原因。
发布于 2017-04-06 20:21:40
与其在属性文件中设置类路径,还必须将驱动程序jar作为依赖项放在maven POM中。
请参阅Liquibase Maven任务的文档,特别是描述不同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>发布于 2019-03-08 22:18:44
在我的例子中,这是一个简单的复制和粘贴问题。
属性driver在liquibase.properties中以空格结尾。删除空格后一切都很好。
driver: com.mysql.cj.jdbc.Driver
vs
driver: com.mysql.cj.jdbc.Driver
发布于 2020-03-31 16:55:13
这个回答把我引向了正确的方向。在我的例子中,我需要声明Maven资源。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>希望能帮上忙!
https://stackoverflow.com/questions/43263866
复制相似问题