首页 > Java > java教程 > 多jdk环境下如何指定springboot外部配置文件

多jdk环境下如何指定springboot外部配置文件

WBOY
发布: 2023-05-11 16:01:06
转载
1497 人浏览过

问题描述

当部署环境中存在多个jdk,且默认jdk版本低于jdk8。我们在部署springboot应用的时候,需要指定jdk为jdk8或其以上版本。随之而来的会出现一个问题:springboot应用的外部化配置文件无法加载,它会一直采用的打入应用jar的默认的配置文件。

问题解决

针对该问题,有两种方式可以解决,如下所示:

  • 添加启动参数--spring.config.additional-location

nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.additional-location=/opt/test-app/config/application-dev.yml,/opt/test-app/config/application.yml
 > /opt/test-app/logs/app.log 2>&1 &
登录后复制

注意:--spring.config.additional-location之后需要加全路径名,若有多个配置文件,可以用英文逗号隔开。特别的,如果多个配置文件在同一个文件夹中,也可以这样配置:

nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.additional-location=/opt/test-app/config/ > /opt/test-app/logs/app.log 2>&1 &
登录后复制
  • 添加启动参数 --spring.config.location

nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.location=/opt/test-app/config/application-dev.yml,/opt/test-app/config/application.yml
 > /opt/test-app/logs/app.log 2>&1 &
登录后复制

注意:--spring.config.location之后需要加全路径名,若有多个配置文件,可以用英文逗号隔开。特别的,如果多个配置文件在同一个文件夹中,也可以这样配置:

nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.location=/opt/test-app/config/ > /opt/test-app/logs/app.log 2>&1 &
登录后复制

解决办法比较

那么,以上两个启动参数有什么区别呢?
--spring.config.additional-location后面的配置文件会和默认配置(springboot应用jar包中打入的配置文件)形成互补的关系,但是它具有更高的优先级。

--spring.config.location 后面的配置文件具有强制性,即一旦添加--spring.config.location,默认配置(springboot应用jar包中打入的配置文件)就失效了,完全以--spring.config.location 后面的配置文件为准。

注意事项

在低版本的springboot中,--spring.config.additional-location并不会生效,这时候只能使用
--spring.config.location 了。
比如: 在springboot 2.3.6.RELEASE版本,--spring.config.additional-location就不会生效。

以上是多jdk环境下如何指定springboot外部配置文件的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板