当前位置: 首页 > 知识库问答 >
问题:

基于环境变量设置Spring Boot Application.Properties

翁宜年
2023-03-14

我有一个Spring Boot应用程序,它将在各种环境中运行,根据它运行的环境,它将连接到不同的数据库。我有几个application.properties文件,每个环境都有一个,如下所示:

application-local.properties:

spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=dbuser
spring.datasource.password=123456789

application-someserver.properties:

spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://someserver:5432/myproddb
spring.datasource.username=produser
spring.datasource.password=productionpass

在我的每个环境中,我都有一个名为myenv的环境变量,它被设置为它所处的环境类型,例如localsomeserver(应用程序-{env}.properties文件的名称与环境名称完全匹配)。

如何让spring boot读取这个环境变量并自动选择正确的.properties文件?我不想因为这个包的部署方式(它不会作为jar运行)而不得不执行整个-dspring.profiles.active=someserver

共有1个答案

谯英彦
2023-03-14

如何让spring boot读取这个环境变量并自动选择正确的.properties文件?

告诉Spring Boot从myenv属性或环境变量中选择活动配置文件。一种方法是将以下内容添加到应用程序中。properties:

spring.profiles.active=${MYENV}

这样,Spring Boot将Spring.profiles.active设置为myenv环境变量的值。

 类似资料:
  • ENV 设置环境变量 格式有两种: ENV <key> <value> ENV <key1>=<value1> <key2>=<value2>... 这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN,还是运行时的应用,都可以直接使用这里定义的环境变量。 ENV VERSION=1.0 DEBUG=on \ NAME="Happy Feet" 这个例子中演示了如何换行,以

  • 问题内容: 需要基于构建环境配置来设置标签的href值。 例如: 分期应有 产品应具有 当前设置: 生成命令: .env.staging.js: index.html: 在index.html中,这似乎不起作用。虽然类似的设置适用于JS文件 (可能是因为将JS文件解析并捆绑到一个文件中,并且捆绑程序在该时间点读取值) 尝试过的事情: index.html: (类似于PUBLIC_URL变量) 与浏

  • 问题内容: 我在运行show时有一个file.sh:未设置TERM环境变量。 问题答案: 您可以看到它是否真的没有 设置 。运行命令。 如果没有,则可以这样设置:

  • 3.1.1.设置PATH环境变量 Android SDK里有个目录,主要的工具都在里面。我们将会频繁地用到这些工具,因此把你的~/android-sdk/tools/目录加入系统的环境变量PATH会是个好办法,这一来就不需要每次使用它们时都切换目录了。 不同系统设置环境变量的方式各有不同,详见Installing Android SDK页面中的第二步。 (译注:Installing Android

  • 当我加载我的应用程序时,我得到这个: 我正在尝试遵循这个:谷歌视觉文档 我已经运行了命令: 然后在客户端 Libary 上,它说我必须设置一个客户端库?我已经用他所有正确的事情做了这件事,然后它说- 接下来,通过将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为指向在上一步中下载的JSON文件,为应用程序代码提供凭据。 并执行以下操作:< code >设置GOOGLE _

  • 我的Python程序有问题。在IDE(间谍IDE)上运行此程序时,我没有得到任何错误,并且它工作得很好。否则,如果我在python IDLE中运行它,我会得到以下错误。 我认为这个错误与Python路径环境变量有关,因为我找不到该模块。