java - 从其他属性文件替换 application.properties 的值
问题描述
我的 Spring Boot 应用程序中有以下文件应用程序属性文件。 所有属性文件都在 src/main/resources 文件夹中 Spring boot 版本是 2.1.6
application.properties application-dev.properties application-tst.properties
application.properties app.name={app.name} app.common=Common val
application-dev.properties app.name=我的开发应用
程序 application-tst.properties app.name=我的 tst 应用程序
Dev 和 tst 是我创建的 Maven 配置文件
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<env>dev</env>
</properties>
</profile>
<profile>
<id>tst</id>
<properties>
<env>tst</env>
</properties>
</profile>
</profiles>
如果我使用开发配置文件构建项目,我应该在我的 application.properties 中获得以下内容
1)mvn -Pdev 全新安装
application.properties app.name=我的开发应用 app.common=通用值
2)mvn -Ptst 全新安装
application.properties app.name=我的 tst 应用 app.common=通用 val
我怎样才能做到这一点?
解决方案
您可以像这样使用环境变量来设置活动配置文件
mvn install -Dspring.profiles.active=dev
或者
mvn install -Dspring.profiles.active=tst
推荐阅读
- python - 如何让多个 MLFlow 并行运行?
- python - For/in 函数打印所有变量(在同一行),而不是 python 中的一个。解决方案?
- javascript - 如何通过回调观察 window.variable 的变化?
- php - 在 php 中导入时从 csv 中删除重复记录
- javascript - “React/Moment”:durationFromNow 与未来日期一起使用时以负数格式输出持续时间
- html - 当屏幕仅通过 html / css 变窄时如何隐藏 div 块?
- html - 将 SVG 从另一个 svg 文件导入 HTML 文件
- haskell - 如何为具有三个参数的数据类型编写 Applicative 实例?
- javascript - 如何在 vue 中访问子组件中的值
- reactjs - 如何将标题换行到新行反应原生