Springboot 读取外置的属性文件 取不到值

在Docker环境下,SpringBoot应用未能正确加载外部配置文件,通过调整目录和命令参数解决了问题,确保优先加载外部配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前在书上 看到 springboot 的属性文件 是有优先级的,jar包外面的属性文件的优先级高于jar包里面的


最近在部署自动化部署的 时候 springcloud中的eureka 集群 遇到了一个问题

springboot配置文件读取不到外面属性文件的值

自己以前在本地测试的时候是没有问题的,确实看到 外置文件的优先级 大于jar包里面文件的优先级

但是到docker 容器 里面一看就是不行

一开始是怀疑dockerfile 的CMD 或者 EntryPoint 写错了

尝试改了一下 还是没有用,

这个时候我注意了一下 ,会不会是目录的问题

dockerfile 脚本里面有这么一段:

java  -jar  /xxx/xxx/xxx/xxxx.jar

会不会读取外置配置文件的目录是 执行java -jar 的目录了?

赶紧再本地进行测试,还真是的

所以 解决方法也是很简单的,在执行前 改变一下 了目录就ok啦

cd /xxx/xxx/xxx/
java  -jar   xxxx.jar

这样就成功启动了

一个很小的问题,平时没怎么关注。关键时候还是 很重要的 哈哈。


2019-04-30 补充
如果不cd到jar包的目录可不可以了?

其实也是可以的,需要在命令里面加点东西
命令如下

java  -jar  /xxx/xxx/xxx/xxxx.jar --user.dir= /xxx/xxx/xxx/

效果是一样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值