当前位置: 首页 > news >正文

使用 java -jar 命令启动 Spring Boot 应用时,指定特定的配置文件的几种实现方式

在使用 java -jar 命令启动 Spring Boot 应用时,如果你想要指定特定的配置文件,可以通过以下几种方式来实现:

  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
  1. 使用 --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 文件。

  1. 同时使用 --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

  2. 使用 -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

  3. 使用 -Dspring.profiles.active 激活指定的 profile
    如果你只想激活特定的 Spring profile(例如 local),而没有更改配置文件的位置,可以使用 -Dspring.profiles.active 来指定激活的 profile。例如:

    java -Dspring.profiles.active=local -jar web-0.0.1.jar

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

这种方式会根据配置文件的命名约定(如 application-local.yml 或 application-local.properties)自动加载相关配置。

  1. 多个配置文件
    如果你需要加载多个配置文件,可以通过逗号分隔路径:

    java -jar web-0.0.1.jar --spring.config.location=file:/path/to/first-config.yml,file:/path/to/second-config.yml

总结:
1.指定路径和文件名:使用 --spring.config.location 或 -Dspring.config.location 指定完整路径。
2.仅指定文件名:使用 --spring.config.name 或 -Dspring.config.name 指定文件名。
3.激活 Profile:使用 -Dspring.profiles.active=profile-name 激活特定的 Spring Profile。

这些方法可以帮助你灵活地在命令行中指定不同的 Spring Boot 配置文件。

http://www.jsqmd.com/news/472897/

相关文章:

  • Playwright 完整教程(从入门到实战,新手友好)
  • 一个基于Spring Boot的简单网吧管理系统
  • ZS316搭配VL171 实现TypeC互转DP 8K60 设计方案
  • 三次谐波注入 SPWM调制 matlab simulink 仿真 3相逆变器开关函数
  • Hertz框架内存管理:后端性能优化的关键
  • 【ETestDEV5教程24】通信协议管理之功能支持
  • 利用机器学习对生产中的电池周期寿命进行早期质量分类和预测
  • COMSOL 激光烧蚀3D体热源引力场温度场仿真探索
  • 根据距离控制变频器加减速带参数子程序
  • 当AI学会“读心术“:我的短视频创作焦虑被这款神器治愈了
  • 27. 移除元素
  • 李哥深度学习班学习笔记——图像识别
  • AI Agent时代来临:Cursor、Claude Code重构开发者生态
  • 石墨烯/钙钛矿太阳能电池COMSOL仿真:文献复现光电耦合模型
  • 京东社招——Java后端开发面试复盘
  • 面向强随机性场景的短期净负荷功率预测:基于集成学习的元学习器设计
  • 勒索病毒专盯数据库? TDE 透明加密如何筑起“最后一道防线
  • Linuex操作系统的优化
  • 分库分表(一)
  • vmd分解联合小波阈值降噪MATLAB代码。具体实现功能如下: 1.数据加载与预处理 数据从CSV文件读取并转换为数组,处理了多列数据的情况。 采样频率 Fs 设置为1000 Hz,这是后续时频分析的
  • PID算法(3)- PID就是求【针对控制量的一个比例+积分+微分】的值
  • 复现论文:基于动力学Wulff图理解和控制异质外延——以GaN为例
  • 类与对象说人话
  • K-Means聚类算法的数据可视化与综合分析:从原理到实践的完整指南
  • Agent-Browser 简明教程
  • 多智能体事件触发一致性
  • SQL 客户端远程登录服务器详细操作教程
  • 6 个动作锻炼核心肌群,让你的腰力更强!
  • 再斩国际设计大奖!玛吉斯VS6、HP6荣获2026德国iF设计奖
  • 多相流模拟在含裂缝非均质地层中的数值计算研究——基于间断伽辽金方法的探索