Springboot项目jar包部署时配置文件外置

springboot项目打jar包部署,项目配置文件application.yml默认在jar包内部,可通过命令行方式在启动时修改配置文件中的属性,例如:java -jar xxx.jar --server.port=8088

若有大量属性需要修改则十分麻烦,现将配置文件放在jar包外部,方便修改

放置的两种方式:

1. 在jar文件所在目录下放置配置文件

2.在jar文件所在目录下新建config目录,在config目录下放置配置文件

根据yml配置文件加载原理,所有配置文件都会加载,高优先级的配置会覆盖低优先级的内容,且属性互补

配置文件加载优先级:config目录下 > jar目录下 > jar包内classpath

属性互补:若jar包内配置文件有属性servlet.content-path=/demo,jar包外配置文件没有此属性,根据加载优先级,外部配置文件优先加载,内部配置文件稍后加载,但属性servlet.content-path=/demo依然有效

有时候我们不希望内部的yml再发挥作用,可排除内部的yml文件:

在pom文件的<build></build>中加入:

<resources>
    <resource>
        <directory>src\main\resources</directory>
        <excludes>
            <exclude>application.yml</exclude>
        </excludes>
    </resource>
</resources>

附上官方的加载顺序说明:

发布了73 篇原创文章 · 获赞 44 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_34928194/article/details/103862195