我正在使用resthub引导我的 spring-backbone webapp。
根据https://github.com/resthub/resthub.github.io/blob/master/docs/spring/mongo.md。他们已经有一个默认的数据库属性文件。
到目前为止一切正常,但我必须在 heroku 上部署项目,它具有不同的数据库名称、端口和其他设置。
database.properties
要覆盖 resthub 提供的默认数据库属性,可以在类路径中创建一个名为的文件。但是我希望仅选择该文件以在 heroku 上进行部署。
我应该如何继续配置它,以便它在 intellij 上使用默认数据库属性在本地工作,但为 heroku 占用 database.properties。
我已经阅读了有关 Maven 配置文件的信息,但它讨论了如何为不同的环境提供不同的文件,并且我正在寻找不为特定环境提供特定文件,而是使用其中一个 resthub jars 中提供的默认文件。
更新
刚刚经历 了 spring.profiles.active 设置的多个 Spring 的环境配置文件时的优先顺序是什么
resthub-mongodb
配置文件总是旧的,在生产的情况下(由 标识-Dprod=true
),加载一个名为的新配置文件heroku
,然后加载prod\database.properties
<context:property-placeholder location="classpath*:prod/database.properties"/>
但我猜想 mongo 相关的 bean 已经使用resthub-mongodb
& 中定义的属性定义了,因此加载加载heroku
配置文件以更改 db 属性不起作用。
在这种情况下有什么解决方案?
可能的解决方案
现在,我最终使用了配置文件之一 -heroku
或resthub-mongodb
取决于系统属性。
还有其他方法吗?