Wagon部署springboot项目读取配置文件错误问题

wagon(瓦工)插件是一个很不错的轻量级,快速部署项目到服务器的插件,针对用中小项目,使用起来十分方便。今天跟大家分享一下自己在使用过程中遇到的一个坑,持续两天时间都没能够解决,最终在多方求助下找到最终原因。


问题状况

在服务器上直接执行start.sh启动脚本,springboot可以正确启动并且正确加载了同目录级下的application-pro.yml文件。


通过wagon执行服务器上同样一个脚本进行springboot项目的启动。在启动的过程中发现一个很奇怪的现象。就是springboot读取的不是同目录下的application-pro.yml文件,而是jar包内的配置文件。


问题追踪

期初以为是jdk环境变量问题,就在脚本中export了一遍环境变量,结果没什么效果。然后,在脚本中直接 source /etc/profile,问题依旧存在。隐隐约约中感觉是环境的问题导致,但却始终找不到真正的原因。


求助解决

求助朋友,朋友说“wagon会不会没有cd到目标目录?”。一语惊醒梦,在脚本中现在通过cd命令,进入到start.sh目录,然后再执行start.sh命令,问题完美解决。


基本原因就是通过wagon执行脚本使用的是绝对路径,而通过绝对路径去执行start.sh启动springboot,springboot无法定位到同目录级下的配置文件,因此无法加载,按照默认的优先级就去寻找项目内的配置文件了。


上一篇:解决实现注册功能点击注册的时候报错问题


下一篇:算法实践——Twitter算法面试题(积水问题)的线性时间解法