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无法定位到同目录级下的配置文件,因此无法加载,按照默认的优先级就去寻找项目内的配置文件了。



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

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://choupangxia.com/2019/07/06/wagon%e9%83%a8%e7%bd%b2springboot%e9%a1%b9%e7%9b%ae%e8%af%bb%e5%8f%96%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e9%94%99%e8%af%af%e9%97%ae%e9%a2%98/