当前位置:

首页 > 编程开发 > 多jdk环境下如何指定springboot外部配置文件

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

问题描述当部署环境中存在多个jdk,且默认jdk版本低于jdk8。我们在部署springboot应用的时候,需要指定jdk为jdk8或其以上版本。随之而来的会出现一个问题:springboot应用的外部化配置文件无法加载,它会一直采用的打入应用jar的默认的配置文件。问题解决针对该问题,有两种方式可以解决,如下所示:添加启动参数--spring.config.additional-locationnohup/home/jdk1.8.0_251/bin/java-Xms256m-Xmx256m-jar/op

本文目录

    问题描述

    当部署环境中存在多个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就不会生效。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 jdk
    相关文章 更多
    Java多版本JDK切换方法详解
    Java多版本JDK切换方法详解

    答案:Java开发中可通过四种方式切换JDK版本。1.手动修改JAVA_HOME和PATH环境变量,适用于所有系统;2.使用shell或批处理脚本快速切换,适合频繁变更的场景;3.利用IntelliJ或Eclipse等IDE的项目级JDK配置,实现多项目独立管理;4.借助SDKMAN!工具管理多个JDK版本,尤其适合Unix-like系统。关键在于确保JAVA_HOME与实际版本一致,并通过java-version验证。

    Java IDE与JDK兼容性验证方法
    Java IDE与JDK兼容性验证方法

    确认IDE与JDK兼容需验证版本匹配、正确配置路径、编译运行新语法特性及构建工具设置一致,确保开发环境正常工作。

    多版本JDK切换方法详解
    多版本JDK切换方法详解

    切换默认Java版本需调整JAVA_HOME和PATH环境变量,确保目标JDK的bin目录优先加载。Windows用户通过系统属性修改环境变量并调整Path顺序,Linux/macOS用户则在shell配置文件中设置exportJAVA_HOME和PATH,并用source生效;也可使用SDKMAN!、jEnv等工具实现自动化管理,提升多版本切换效率。

    JDK源码调试问题与解决方法分享
    JDK源码调试问题与解决方法分享

    在研究MyBatis的缓存机制时,探索HashMap的实现原理是必要的。然而,在IntelliJIDEA中单步调试HashMap的put(Kkey,Vvalue)方法时,遇到无法进入方法内部的问题,效果类似于使用StepOver。经过排查,确认这不是快捷键冲突的问题,但始终无法成功进行StepInto操作。最初误以为是IntelliJIDEA不支持调试JDK源码(这种想法现在看来有些天真),于是尝试在eclipse中调试,结果发现虽然可以进入HashMap的put方法内部,但无法查看局部变量

    安装JDK的CentOS教程
    安装JDK的CentOS教程

    CentOS是一款基于RedHatEnterpriseLinux源代码构建的Linux发行版,因其稳定性和可靠性而备受青睐。在服务器和企业环境中,CentOS广泛应用,它提供了强大的功能和高级安全性,使其成为许多开发人员和系统管理员首选的操作系统之一。JDK是Java开发工具包的缩写,是Java编程语言的核心,包含Java运行时环境(JRE)、Java编译器(javac)、Java虚拟机(JVM)等关键工具。在CentOS系统上进行Java开发,安装JDK是不可或缺的第一步。在CentOS上安装JDK非常

    springBoot项目常用目录有哪些
    springBoot项目常用目录有哪些

    springBoot项目常用目录springBoot项目的目录结构及名规范介绍基于SpringBoot开发时的目录结构及命名规范,通过介绍能够为你解决,在实际项目中如何规划目录结构?如何命名目录更规范?各个目录分别代表什么含义?等三个问题。目录说明servicex//项目名|-admin-ui//管理服务前端代码(一般将UI和SERVICE放到一个工程中,便于管理)|-servicex-auth//模块1|-servicex-common//模块2|-servicex-gateway//模块3|-serv

    jdk怎么安装-jdk安装教程
    jdk怎么安装-jdk安装教程

    近期有很多小伙伴咨询小编jdk怎么安装,接下来就让我们一起学习一下jdk怎么安装的全部内容吧,希望可以帮助到大家。1、首先下载JDK安装文件,进入JDK安装界面,如图所示。2、单击“下一步”按钮,进入JDK自定义安装界面,如图所示。3、建议选择直接安装到默认目录,单击“下一步”按钮即可进行安装,如图所示。也可以单击“更改”按钮,自行选择安装目录。4、安装完毕后,弹出界面,单击“关闭”按钮即可,如图所示。上面就是小编为大家带来的jdk怎么安装的全部教程,希望对大家能够有所帮助哦。

    甲骨文正式发布 Java 22、JDK 22,JavaOne 开发者大会 2025 年 3 月 17 日举行
    甲骨文正式发布 Java 22、JDK 22,JavaOne 开发者大会 2025 年 3 月 17 日举行

    本站3月20日消息,甲骨文今日宣布Java22全面推出,同时JDK22也已正式公开,可供生产环境使用。这个版本涵盖了12个JDK增强提案(JEP),其中包括7个预览功能和1个孵化器功能,还有最终版本的外部函数和内存API(JEP454),以及未命名变量和模式(JEP456)。此外,甲骨文还宣布JavaOne回归,并将于2025年3月17日至20日在硅谷园区举行Java交流研讨会。

    win10如何配置jdk环境变量的绝对路径
    win10如何配置jdk环境变量的绝对路径

    我们在配置环境变量的时候,有三个配置目标JAVA_HOME、CLASSPATH、PATH。那么我们在写路径时候就要非常小心,哪怕是少一个符号错一个标点就会配置出错。所以小编就来告诉大家在配置中怎么写绝对路径~希望可以帮助到你。jdk环境变量怎么配置win10绝对路径1、首先右键“此电脑”打开“属性”2、打开左侧“高级系统设置”里的“环境变量”3、然后点击系统变量下的“新建”4、变量名为“JAVA_HOME”,变量值为我们的jdk绝对路径。5、绝对路径下必须看到如图所示的文件。6、然后选中系统变量下的“pa

    解析SpringBoot和SpringMVC之间的异同
    解析SpringBoot和SpringMVC之间的异同

    解析SpringBoot和SpringMVC之间的异同SpringBoot和SpringMVC是Java领域中非常重要的开发框架。虽然它们都属于Spring框架的一部分,但是在使用和功能上有一些明显的区别。本文将对SpringBoot和SpringMVC进行比较,解析它们之间的异同。首先,让我们来了解一下SpringBoot。SpringBo

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。