我要加载的属性文件自动基于使用弹簧4,如舞台,UAT,QA等编程方式的服务器环境我试图双向如何使用spring mvc(uat,stage)以编程方式获取域系统环境变量(env)?
安装系统环境变量:ENV =本地,偏差, qa,uat。
活跃概况:春天选项
然而,这不是自动检测域系统环境变量。我们已经在系统中手动配置。
请任何人都可以帮助解决此问题。
我要加载的属性文件自动基于使用弹簧4,如舞台,UAT,QA等编程方式的服务器环境我试图双向如何使用spring mvc(uat,stage)以编程方式获取域系统环境变量(env)?
安装系统环境变量:ENV =本地,偏差, qa,uat。
活跃概况:春天选项
然而,这不是自动检测域系统环境变量。我们已经在系统中手动配置。
请任何人都可以帮助解决此问题。
您可以覆盖默认弹簧配置。假设你与春天引导工作,并有脂肪可执行的JAR文件,您可以覆盖与外部内部的配置文件的属性与命令行PARAMS如下
java -jar your-executable-fat-jar.jar --spring.config.name=external-prop-file-name --spring.config.location=classpath:/application.yml,file://<external-config-file-parent-dir-path-NOT-EXTERNAL-CONFIG-FILE-PATH>
其中
spring.config.name - external config file name
spring.config.location - Locations to look for configuration files.
spring.config.location
可以被命名为您ENV。因此,您将为每个包含env特定配置的env设置单独的目录。
最后的命令可能看起来像:
java -jar app.jar --spring.config.name=application.yml --spring.config.location=classpath:/application.yml,file:///app/config/$CURRENT_ENV
假设您目前的ENV值被设置在CURRENT_ENV
和所有env中特定的configs目录遵循规则/app/config/<env_name>