Spring Boot指定配置文件、配置目录位置,解决未使用配置中心时重复打包问题
参考
备注
可以将jar项目内的 resources 文件夹全部转移到jar包运行目录,然后在jar包运行命令指定配置路径为相对路径即可,在不使用配置中心的情况下非常方便,无需重复打包,只需要重启服务即可:
java -jar -Dspring.config.location=file:./resources/ xxx.jar
正文
- 使用 --spring.config.location 指定配置文件路径,你可以使用 --spring.config.location 参数来指定一个或多个配置文件的路径。例如:
这样,Spring Boot 会从 application-local.yml 文件加载配置,注意这个路径是基于类路径的,如果文件在本地硬盘上的绝对路径或相对路径下,可以指定完整路径:java -jar web-0.0.1.jar --spring.config.location=classpath:/application-local.yml
java -jar web-0.0.1.jar --spring.config.location=file:/path/to/your/application-local.yml
- 使用 --spring.config.name 指定配置文件名,你想使用特定的配置文件名,而不必指定完整路径,可以使用 --spring.config.name 参数。例如,如果你有 application-local.yml 文件,并且希望 Spring Boot 加载它:
这种方式会告诉 Spring Boot 查找 application-local.yml 或 application-local.properties 文件。java -jar web-0.0.1.jar --spring.config.name=application-local
- 同时使用 --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
- 使用 -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
- 使用 -Dspring.profiles.active 激活指定的 profile,如果你只想激活特定的 Spring profile(例如 local),而没有更改配置文件的位置,可以使用 -Dspring.profiles.active 来指定激活的 profile。例如:
注意:顺序不能错,不能写成 java -jar web-0.0.1.jar -Dspring.profiles.active=local , 否则配置将不会生效
这种方式会根据配置文件的命名约定(如 application-local.yml 或 application-local.properties)自动加载相关配置。java -Dspring.profiles.active=local -jar web-0.0.1.jar
- 多个配置文件, 如果你需要加载多个配置文件,可以通过逗号分隔路径:
java -jar web-0.0.1.jar --spring.config.location=file:/path/to/first-config.yml,file:/path/to/second-config.yml
博 主 :夏秋初
地 址 :https://www.cnblogs.com/xiaqiuchu/p/18730643
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
地 址 :https://www.cnblogs.com/xiaqiuchu/p/18730643
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2022-02-22 git基本操作与分支