欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

Spring Boot项目如何使用外部application.yml配置文件启动JAR包

2025年08月09日 Java
spring boot项目中使用外部application.yml配置文件启动jar包一、基本原理spring boot默认会加载项目内部的application.yml或application.pr

spring boot项目中使用外部application.yml配置文件启动jar包

一、基本原理

spring boot默认会加载项目内部的application.ymlapplication.properties文件。但如果我们希望使用外部配置文件,可以通过设置spring.config.location属性来指定外部配置文件的路径。这种方式允许配置文件独立于jar包存在,便于修改和部署。

二、具体操作步骤

1. 准备外部配置文件

application.yml文件放置在项目外部,例如放在以下路径:

  • /opt/config/application.yml
  • d:\config\application.yml
    确保该文件包含你需要的配置内容,例如:
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test_db
    username: root
    password: secret
server:
  port: 8080

2. 打包项目为jar文件

在项目根目录下,使用maven或gradle打包项目,确保jar包内不包含application.yml文件。例如,使用maven:

mvn clean package -dskiptests

3. 启动jar包并指定外部配置文件

使用以下命令启动jar包,并指定外部配置文件的路径:

java -jar your-app.jar --spring.config.location=file:/opt/config/application.yml

或者,如果配置文件位于windows系统的某个路径:

java -jar your-app.jar --spring.config.location=file:d:\config\application.yml

4. 验证配置是否生效

启动后,可以通过日志或应用程序中的配置项检查外部配置文件是否被正确加载。例如,检查数据库连接是否使用了外部配置文件中的url和用户名。

三、注意事项

  1. 优先级问题
    • 使用--spring.config.location指定外部配置文件后,spring boot将不再加载jar包内部的默认配置文件。
    • 如果需要同时加载jar包内部的默认配置文件和外部配置文件,可以使用--spring.config.additional-location参数:
      java -jar your-app.jar --spring.config.additional-location=file:/opt/config/application.yml
  2. 路径格式
    • 确保路径格式正确,例如在linux系统下使用正斜杠(/),在windows系统下使用反斜杠(\)或正斜杠(/)。
    • 如果路径中包含空格,需要用引号包裹:
      java -jar your-app.jar --spring.config.location="file:/opt/my config/application.yml"
  3. 权限问题
    • 确保启动jar包的用户对配置文件路径有读取权限,否则可能导致配置文件无法加载。
  4. 配置冲突
    • 如果外部配置文件和jar包内部的配置文件存在相同的配置项,外部配置文件的配置会覆盖内部的配置。
  5. 测试配置
    • 建议在正式使用前,先手动测试启动命令,确保配置文件被正确加载且应用程序按预期运行。

四、示例

假设你有一个spring boot项目,打包后生成的jar文件名为myapp.jar,并希望使用外部配置文件/opt/config/application.yml启动。启动命令如下:

java -jar myapp.jar --spring.config.location=file:/opt/config/application.yml

如果外部配置文件位于windows系统的d:\config\application.yml,则命令为:

java -jar myapp.jar --spring.config.location=file:d:\config\application.yml

到此这篇关于spring boot项目中使用外部application.yml配置文件启动jar包的文章就介绍到这了,更多相关springboot application.yml配置文件启动jar包内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!