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

使用 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.kler.cn/a/536937.html

相关文章:

  • ORACLE 数据库的启动和关闭
  • 50个常用的DeepSeek提示词
  • GB/T28181 开源日记[8]:国标开发速知速会
  • Spring 事务传播机制
  • 红包雨项目前端部分
  • 【DeepSeek】私有化本地部署图文(Win+Mac)
  • QWidget中嵌入QQuickWidget,从qml端鼠标获取经纬度点(double类型),发到c++端。把c++端的对象暴露个qml端调用
  • 第九天 动手实践ArkTS,创建简单的UI组件
  • BFS算法——广度优先搜索,探索未知的旅程(下)
  • 陶氏环面包络减速机:为工业视觉检测注入“精准动力”!
  • 【机器学习】深入探索SVM概念及其核方法
  • 3NF讲解
  • Web3D基础: GLTF文件材质和纹理扫盲
  • matlab simulink 117-电路故障分析
  • Day48_20250130【回校继续打卡】_单调栈part1_739.每日温度|496.下一个更大元素I|503.下一个更大元素II
  • SQL高级技巧:高效获取两表交集数据的三种方法(JOIN、IN、EXISTS)
  • Spring Cloud 01 - 微服务概述
  • “无痕模式”VS指纹浏览器,哪个更安全?
  • 自定义飞书Webhook机器人api接口
  • 【vscode源码】如何编译运行vscode及过程中问题解决
  • 在 Java 中使用 JDBC 连接数据库时,DriverManager 的主要作用是什么?请简要描述其工作原理。
  • Linux在x86环境下制作ARM镜像包
  • git代理设置
  • 65.棋盘 C#例子 WPF例子
  • 计算机考研复试上机02
  • 网安三剑客:DNS、CDN、VPN