Spring Boot指定配置文件、配置目录位置,解决未使用配置中心时重复打包问题

news/2025/2/22 10:28:51/文章来源:https://www.cnblogs.com/xiaqiuchu/p/18730643

参考

  • https://blog.csdn.net/z284747/article/details/144353780

备注

可以将jar项目内的 resources 文件夹全部转移到jar包运行目录,然后在jar包运行命令指定配置路径为相对路径即可,在不使用配置中心的情况下非常方便,无需重复打包,只需要重启服务即可:

java -jar -Dspring.config.location=file:./resources/ xxx.jar

正文

  1. 使用 --spring.config.location 指定配置文件路径,你可以使用 --spring.config.location 参数来指定一个或多个配置文件的路径。例如:
    java -jar web-0.0.1.jar --spring.config.location=classpath:/application-local.yml
    
    这样,Spring Boot 会从 application-local.yml 文件加载配置,注意这个路径是基于类路径的,如果文件在本地硬盘上的绝对路径或相对路径下,可以指定完整路径:
    java -jar web-0.0.1.jar --spring.config.location=file:/path/to/your/application-local.yml
    
  2. 使用 --spring.config.name 指定配置文件名,你想使用特定的配置文件名,而不必指定完整路径,可以使用 --spring.config.name 参数。例如,如果你有 application-local.yml 文件,并且希望 Spring Boot 加载它:
    java -jar web-0.0.1.jar --spring.config.name=application-local
    
    这种方式会告诉 Spring Boot 查找 application-local.yml 或 application-local.properties 文件。
  3. 同时使用 --spring.config.location 和 --spring.config.name,如果你想指定配置文件的路径以及文件名,可以结合这两个参数:
    java -jar web-0.0.1.jar --spring.config.location=file:/path/to/your/config/ --spring.config.name=application-local
    
  4. 使用 -D 传递 spring.config.location 或 spring.config.name 参数,除了使用 – 语法外,也可以通过 -D 参数指定配置文件路径:
    java -Dspring.config.location=file:/path/to/your/config/application-local.yml -jar web-0.0.1.jar
    
  5. 使用 -Dspring.profiles.active 激活指定的 profile,如果你只想激活特定的 Spring profile(例如 local),而没有更改配置文件的位置,可以使用 -Dspring.profiles.active 来指定激活的 profile。例如:

    注意:顺序不能错,不能写成 java -jar web-0.0.1.jar -Dspring.profiles.active=local , 否则配置将不会生效

    java -Dspring.profiles.active=local -jar web-0.0.1.jar
    
    这种方式会根据配置文件的命名约定(如 application-local.yml 或 application-local.properties)自动加载相关配置。
  6. 多个配置文件, 如果你需要加载多个配置文件,可以通过逗号分隔路径:
    java -jar web-0.0.1.jar --spring.config.location=file:/path/to/first-config.yml,file:/path/to/second-config.yml
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/887930.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普通人如何靠 AI 副业,1 个月实现月薪 3 万 +

在物价飞涨、经济低迷的今天,仅靠死工资,却有着不固定的开销?房贷、车贷、孩子的教育费用…… 望着日益增长的开销,你是否也在夜深人静时,为钱包的羞涩而发愁?无数次幻想过拥有一份高收入的副业,却始终在迷茫中徘徊,不知从何下手。 如今,AI 时代的浪潮汹涌而来,为我们…

C内存模型

分区 在C语言中,内存被分为以下几个部分 .text 代码段,存放程序的可执行代码,不可修改 .rodata(Read Only Data) 常量区,存放全局常量 .data 数据段,存放已初始化的全局变量和静态变量 .bss(Block Started By Symbol) 未初始化数据段,存放未初始化的全局变量或者初始化为…

探秘Transformer系列之(5)--- 训练推理

从零开始解析Transformer,目标是:(1) 解析Transformer如何运作,以及为何如此运作,让新同学可以入门;(2) 力争融入一些比较新的或者有特色的论文或者理念,让老鸟也可以有所收获。探秘Transformer系列之(5)--- 训练&推理 0x00 概述 Transformer训练的目的是通过对输入…

124. 二叉树中的最大路径和(困难)

目录题目题解:后序遍历 题目二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root ,返回…

Windsurf AI编程工具

Windsurf AI编程工具实操指南目录一、环境搭建与核心功能安装与登录模型选择与配置中文环境配置二、开发全流程实操创建项目将api目录下的模型调用抽象为服务层三、避坑指南四、与Cursor对比结语安装包 一、环境搭建与核心功能 安装与登录 访问Windsurf官网下载适配版本,支持W…

让你搜索效率翻倍的技巧

本文是《最全面的浏览器教程》第五篇,介绍一些好用的搜索引擎技巧。​ 本文是《最全面的浏览器教程》第五篇,介绍一些好用的搜索引擎技巧。 上一篇文章推荐了很多好用的搜索引擎,但要用好它们,还得加上很多技巧:例如指定文件类型,排除某些内容,在指定域名内搜索等。 本文…

4. MySQL 逻辑架构说明

4. MySQL 逻辑架构说明 @目录4. MySQL 逻辑架构说明1. 逻辑架构剖析1.1 服务器处理客户端请求1.2 Connectors(连接器)1.3 第1层:连接层1.4 第2层:服务层1.5 第3层:引擎层1.6 存储层2. SQL执行流程2.1 MySQL 中的 SQL 执行流程2.2 MySQL8中SQL执行原理最后:1. 逻辑架构剖析…

无线充电

https://baijiahao.baidu.com/s?id=1809048563048631142&wfr=spider&for=pc 工信部放宽无线充电设备频率和功率限制,安卓厂商或加大无线充电功率,苹果则因Qi2.0标准频率与航空无线电导航业务冲突而调整。无线充电技术发展迅速,但仍需解决充电发热等问题。咱也就是说…

陪玩平台搭建,利用Redis实现多级缓存

陪玩平台搭建,利用Redis实现多级缓存如何使用redis6客户端缓存前置条件: redis服务端版本必须是>=6。lettuce版本>=6 目前java的redis客户端找了一圈,貌似只有lettuce 6支持,其他客户端估计后期会支持1、项目中pom引入lettuce GAV<dependency><groupId>i…

《DeepSeek中小学生/家长使用手册》让因材施教不再是选择题!

最近有受到粉丝私信如何在小初高的学习中使用DeepSeek来提供成绩;确实,随着教育改革的推进,学习内容日益丰富且难度加大,许多家长在辅导孩子和沟通交流方面感到困扰。无论是学生还是家长,找到合适的学习与辅导方式至关重要。尽管市面上有多种培训机构和学习工具可供选择,…

读DAMA数据管理知识体系指南01数据管理(上)

数据管理对企业至关重要,需规划、协作和领导力,确保数据质量和隐私,支撑企业决策和运营,数据是组织资产,需全生命周期管理,高质量数据带来竞争优势。1. 数据管理 1.1. 数据是一种至关重要的企业资产1.1.1. 数据和信息能使他们洞察顾客、产品和服务,帮助企业创新并实现其…

推荐几款开源且免费的 .NET MAUI 组件库

前言 今天大姚给大家推荐 3 款开源且免费的 .NET MAUI 组件库。 .NET MAUI介绍 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。.…