SpringBoot 项目部署 (配置文件分离)
2024-09-05 15:25:08
1. SpringBoot 配置文件加载
SpringBoot
加载配置文件的优先级如下:
- 当前目录下的
config
子目录; - 当前目录;
classpath
下的config
文件夹;classpath
根路径;
优先级从上到下依次降低,高优先级的配置文件会优先加载,覆盖掉低优先级的配置文件。
当前目录:指的是 执行启动指令的 的目录。
2. 配置文件分离 - 覆盖法
依据上述配置文件加载优先级,我们最简单的实现配置文件和打包文件分离的方法就是:根据配置文件优先级,在jar
包外创建一个配置文件,将jar
包内的配置文件覆盖掉。
首先,我们看一下打包好的jar
包:
可以看到,配置文件其实是在classpath
下的根路径,也就是说在最低优先级。由于我们要实现配置文件和jar
包分离,所以我们有两种方式实现覆盖jar
包中的配置文件:
- 在
jar
包同级目录下创建config
文件夹,并将配置文件放在该文件夹下;(优先级最高) - 将配置文件放入
jar
包的同级目录下;(优先级次之)
3. 配置文件分离 - 配置文件不打包
上述方法中, jar
包当中其实保留的有配置文件,只不过加载的时候被优先级更高的配置文件覆盖了。
如果想要消除jar
文件中的配置文件, 可以在pom.xml
文件中指定剔除的配置文件, 示例如下:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.yml</exclude>
</excludes>
</resource>
</resources>
</build>
这样在打包的时候就把.properties
, .yml
类型的配置文件都过滤掉了。
4. 参考
最新文章
- 动态规划VS分治策略
- 【转】IOS屏幕旋转与View的transform属性之间的关系,比较底层
- 深入理解计算机系统家庭作业汇总 20135301&;&;20135328
- Ctrl+Shift+F12切换最大化编辑器
- NeHe OpenGL教程 第八课:混合
- 详解C/C++函数指针声明 ( *( void(*)())0)();
- PC-大概最全的黑客工具表了
- JSON未定义解决办法
- (三)跟我一起玩Linux网络服务:DHCP服务配置之主服务器配置
- 获取contenteditable的内容 对html进行处理 兼容 chrome、IE、Firefox
- debian下samba配置
- 用jQuery实现鼠标在table上移动进行样式变化
- style中position的属性值具体解释
- MVC 用扩展方法执行自定义视图,替代 UIHint
- java&#160;实现Excel压缩成Zip导出
- 超文本传输​​协议 - HTTP / 1.1(Hypertext Transfer Protocol -- HTTP/1.1)之方法定义(Method Definitions)
- Idea中开启assert断言
- 入侵检测中需要监控的注册表路径研究(Windows Registry Security Check)
- NodeJs 学习笔记(一)Wedding 项目搭建
- [Linux] 如何禁止使用口令只允许使用密钥建立 SSH 连接
热门文章
- kubernetes之HPA
- Mybatis源码解读-插件
- 第六天python3 函数、参数及参数解构(一)
- CF Edu Round 131 简要题解 (ABCD)
- 栈Stack
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(11)-Fiddler设置安卓手机抓包,不会可是万万不行的!
- Vue 列动态取值
- Flask 运行报错 HTTPStatus.BAD_REQUEST This site can’t provide a secure connection
- java-分支结构(四种基本分支结构的认识)
- CSS 布局(一):Flex 布局