SpringBoot 项目部署 (配置文件分离)
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. 参考
SpringBoot 项目部署 (配置文件分离)的更多相关文章
- 2019-03-26 SpringBoot项目部署遇到跨域问题,记录一下解决历程
近期SpringBoot项目部署遇到跨域问题,记录一下解决历程. 要严格限制,允许哪些域名访问,在application.properties文件里添加配置,配置名可以自己起: cors.allowe ...
- React+SpringBoot项目部署
静态资源访问配置 https://www.jianshu.com/p/b6e0a0df32ec https://segmentfault.com/q/1010000012240531/a-102000 ...
- springboot项目部署云服务器
Springboot项目部署云服务器 springboot项目部署云服务器还是挺简单的 首先你要有java运行环境,就是jdk的安装,如果还没有装没有参考安装:阿里云ECS建网站(建站)超详细全套完整 ...
- 多个springboot项目部署在同一tomcat上,出现jmx错误
多个springboot项目部署在同一tomcat上,出现jmx错误 原因:因为jmx某些东西重复,禁用jmx就可以了 endpoints.jmx.unique-names=true
- springboot项目部署(war包)
将springboot项目打包成war,并且部署到tomcat.比较麻烦,自己踩的坑也比较多.算了一下,找bug的时间,有两天熬到凌晨2点. 修改pom.xml使得打包成war <groupId ...
- springboot项目部署到独立tomcat的爬坑集锦
目录 集锦一:普通的springboot项目直接部署jar包 集锦二:springboot项目不能直接打war包部署 集锦三:因为tomcat版本问题导致的lombok插件报错:Invalid byt ...
- 多个springboot项目部署到tomcat,Error deploying web application archive
每个springboot单独部署到tomcat下可以正常启动,多个一个就发生异常 Error deploying web application archive 解决:配置文件加上配置区分 sprin ...
- springboot项目部署到tomcat步骤以及常见问题
------------恢复内容开始------------ 本文分为两个部分,一,是打包的步骤,二,是我项目中所遇到的问题以及解决方法 一. 打包为war包步骤 1.修改打包方式为war 在pom. ...
- SpringBoot 项目部署(初级)
之前的项目一直在本地电脑上写,最近需要将项目部署到服务器上进行联调测速度.于是,在网上搜集资料后简单的进行一下总结. 由于本次打包部署是为了测试,于是很多内容做的还不算详尽,只是将项目简单的打包为ja ...
随机推荐
- 【一本通提高组合数学】 计算系数(NOIP2011提高组)
题面 思路 根据二项式定理, 那么 算 需要用快速幂. 可以根据组合式的递推公式算组合数.我是这么写的. 或者是利用组合数的定义式,但是因为有取余, 所以要用逆元. 其中 为逆元, 这个可以直接用 ...
- Sharding-jdbc 5.1.2案例
简介 sharding-jdbc案例,版本5.1.2 springboot + mybatis-plus + sharding-jdbc 项目地址:sharding-jdbc-example 模块说明 ...
- 第十六天python3 文件IO(二)
BytesIO操作 io模块中的类 from io import BytesIO 内存中,开辟的一个二进制模式的buffer,可以像文件对象一样操作它: 当close方法被调用的时候,这个buffer ...
- boot issue
Q:生产过程中不小心把 boot文件删除了 ,或者升级kenerl时发现版本不兼容,需要回退,此时没有快照备份情况如何操作? A:boot 主要文件是内核和grub引导文件 修复方法: 1.进入救 ...
- OC高仿iOS网易云音乐AFNetworking+SDWebImage+MJRefresh+MVC+MVVM
效果 因为OC版本大部分截图和Swift版本一样,所以就不再另外截图了. 列文章目录 因为目录比较多,每次更新这里比较麻烦,所以推荐点击到主页,然后查看iOS云音乐专栏. 目简介 这是一个使用OC语言 ...
- LuoguP2217 [HAOI2007]分割矩阵 (DP + memorized search)
int n,m,tim; int mp[N][N], sum[N][N]; double ave,dp[N][N][N][N][N]; inline double DP(int a,int b,int ...
- js--自定义对象
1.直接量对象(JSON) {"name":"zhangsan","age":25} {}代表一个对象,包含多组键值对. 通常key是字符串 ...
- mysql验证隔离级别
mysql更改隔离级别 参考https://blog.csdn.net/qq_21299835/article/details/121189565 关闭mysql事务自动提交:set autocomm ...
- 中国剩余定理+扩展中国剩余定理 讲解+例题(HDU1370 Biorhythms + POJ2891 Strange Way to Express Integers)
0.引子 每一个讲中国剩余定理的人,都会从孙子的一道例题讲起 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何? 1.中国剩余定理 引子里的例题实际上是求一个最小的x满足 关键是,其中 ...
- 通过宏封装实现std::format编译期检查参数数量是否一致
背景 std::format在传参数量少于格式串所需参数数量时,会抛出异常.而在大部分的应用场景下,参数数量不一致提供编译报错更加合适,可以促进我们更早发现问题并进行改正. 最终效果 // 测试输出接 ...