我开发了Spring Boot 2.2.1应用程序。我有多个配置文件(application- {provile} .yml),并使用liquibase自动迁移数据库。一切工作都很好(如果可以说关于Java的话,哈哈)。但是在生产环境中[[我必须将配置文件作为外部yml文件从远处传递过来。
我正在执行以下外壳程序以启动应用程序:java.exe -jar orgstructure-service-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod -Dspring.config.location=./application-prod.yml
应用程序正在启动,并且除了liquibase之外,配置均适用。 Liquibase使用classpath进行changelog配置:
liquibase: change-log: classpath:db/changelog/changelog.xml
但是从外部(jar外部)application.yml无法访问changelog,因此liquibase无法应用迁移。如何解决此问题并使liquibase在这样的环境中工作?
spring:
profiles:
active: prod
include:
customization
liquibase:
change-log: classpath:db/changelog/changelog.xml
logging:
level:
root: INFO
org.springframework: INFO
org.hibernate.SQL: INFO
org.hibernate.type: INFO
liquibase: INFO
定制保留诸如数据库和授权服务器连接之类的设置。