1.问题描述

  1. 项目中我为springboot项目部署准备了启动脚本start.sh,有时候启动正常,有时候启动报错,报错如下图:Inked微信图片_20200102220609_LI.jpg
  2. 从gitlab上检查start.sh脚本源码,并没有发现有\r字符

2.原因排查

  1. 从打好的zip里解压出start.sh,然后在git bash中通过od -c start.sh查看文件内容,发现文件内容确实有\r字符:Inked微信图片_20200102221413_LI.jpg
  2. gitlab源码上没有\r,而打好的包里有\r,从gitlab到打包步骤仅仅是通过windows git bash把代码clone下来然后mvn打包,所有怀疑是不是windows clone时被git转换了换行符\n->\r\n?
  3. 进过一番搜索,确实是git有一个配置参数来控制是否进行换行符转换:
    git config --global core.autocrlf false 禁用自动转换
    git config --global core.autocrlf true 开启自动转换
    git config --list 可查看当前git的配置项

3.解决方法

  1. git config --global core.autocrlf false 禁用自动转换
  2. 删除本地项目,重新clone然后mvn打包,问题解决~~~

看似小问题排查了好久,汗-_-!


Must
32 声望1 粉丝

永远不放弃技术(^_^)~~~


下一篇 »
mysql常用操作