我尝试将一个应用程序从spring-boot1迁移到spring-boot 2,但是spring-boot部分有很多困难:
我有此日志:
在上下文初始化期间遇到异常-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名称为“ org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration $ LiquibaseConfiguration”的bean时出错:调用init方法失败;嵌套的异常为java.lang.IllegalStateException:找不到更改日志位置:类路径资源[db / changelog / db.changelog-master.yaml](请添加更改日志或检查您的Liquibase配置
使用此Yaml:
spring:
application:
name: xxx
jpa:
generate-ddl: false
liquibase:
change-log: "classpath:/liquibase/xxx-db/db.changelog.json"
datasource:
platform: oracle
liquibase和spring-boot 2似乎忽略了我的application.yml的liquibase部分 有什么主意吗?
我的pom:
<spring-boot.version>2.0.3.RELEASE</spring-boot.version>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
<liquibase.version>3.4.2</liquibase.version>
答案 0 :(得分:1)
所以,我发现了:
我在用这个:
spring.config.location = other.yml
正在运行的可以在springboot1中找到,但是在springboot2中找不到了
在从spring-boot 1迁移到spring-boot 2的过程中,spring.config.location参数(类似于application.yml的文件所在的位置)的行为已更改。 (来源:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide)
在springboot1中,spring.config.location = other.yml添加到默认文件application.yml other.yml文件
在springboot2中,spring.config.location用other.yml文件替换了默认的application.yml文件。
要更正,我需要这样做:
spring.config.location = application.yml,other.yml