java - 如何使用 jar 文件中的 Liquibase 变更日志

标签 java spring maven spring-boot liquibase

目前我的application.properties 中有以下内容:

liquibase.change-log=classpath:/db/changelog/db.changelog-master.xml

文件的实际路径是src/main/resources/db/changelog/db.changelog-master.xml

更新日志由 Liquibase 找到,一切都按我预期的那样工作。

我已将变更日志和项目的所有 JPA 实体和存储库移到一个单独的项目中,以便它们可以与其他项目共享。

第二个项目是第一个项目的 Maven 依赖项。我需要在第一个项目的 application.properties 中使用什么路径才能访问第二个项目中的 liquibase 变更日志?

更新

我有:

projectA.jar -> pom.xml

<dependency>
    <groupId>com.foo</groupId>
    <artifactId>projectB</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

projectA.jar -> application.properties

liquibase.change-log=classpath:/db/changelog/db.changelog-master.xml

projectB.jar -> src/main/resources/db/changelog/db.changelog-master.xml

但是我得到:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseConfiguration': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Cannot find changelog location: class path resource [db/changelog/db.changelog-master.xml] (please add changelog or check your Liquibase configuration)

最佳答案

我是个傻子。我的本地 ~/.m2 存储库有一个旧版本的 jar,没有 Liquibase 更新日志。 mvn clean install 解决了这个问题。

关于java - 如何使用 jar 文件中的 Liquibase 变更日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30353472/

相关文章:

java - Camel可以从java对象生成文件吗

java - 无法使用 Tycho 和 Java 9 构建 Eclipse RCP 项目

java - 为什么 OpenJDK 8 在使用 Docker 时没有提取正确的 JavaFX 库?

java - 如何从java服务器端使用参数运行vb exe文件

java - 这个方法必须返回int类型的结果吗?

Java 线程 - 通过另一个线程调用方法来阻止一个线程运行

java - Spring Integration Java DSL .handle(String beanName, String methodName)

java - 在 JAVA 中读取 XML 文件时出现引号问题

java - 如何将 List<String> 从 spring JPA 存储到数据库中的 text[] 数组

spring - 为 Spring 框架引用文档做出贡献?